<!DOCTYPE html>

<html>
  <head>
    <title>Protocol Documentation</title>
    <meta charset="UTF-8">
    <link rel="stylesheet" type="text/css" href="https://fonts.googleapis.com/css?family=Ubuntu:400,700,400italic"/>
    <style>
      body {
        width: 60em;
        margin: 1em auto;
        color: #222;
        font-family: "Ubuntu", sans-serif;
        padding-bottom: 4em;
      }

      h1 {
        font-weight: normal;
        border-bottom: 1px solid #aaa;
        padding-bottom: 0.5ex;
      }

      h2 {
        border-bottom: 1px solid #aaa;
        padding-bottom: 0.5ex;
        margin: 1.5em 0;
      }

      h3 {
        font-weight: normal;
        border-bottom: 1px solid #aaa;
        padding-bottom: 0.5ex;
      }

      a {
        text-decoration: none;
        color: #567e25;
      }

      table {
        width: 100%;
        font-size: 80%;
        border-collapse: collapse;
      }

      thead {
        font-weight: 700;
        background-color: #dcdcdc;
      }

      tbody tr:nth-child(even) {
        background-color: #fbfbfb;
      }

      td {
        border: 1px solid #ccc;
        padding: 0.5ex 2ex;
      }

      td p {
        text-indent: 1em;
        margin: 0;
      }

      td p:nth-child(1) {
        text-indent: 0;  
      }

       
      .field-table td:nth-child(1) {  
        width: 10em;
      }
      .field-table td:nth-child(2) {  
        width: 10em;
      }
      .field-table td:nth-child(3) {  
        width: 6em;
      }
      .field-table td:nth-child(4) {  
        width: auto;
      }

       
      .extension-table td:nth-child(1) {  
        width: 10em;
      }
      .extension-table td:nth-child(2) {  
        width: 10em;
      }
      .extension-table td:nth-child(3) {  
        width: 10em;
      }
      .extension-table td:nth-child(4) {  
        width: 5em;
      }
      .extension-table td:nth-child(5) {  
        width: auto;
      }

       
      .enum-table td:nth-child(1) {  
        width: 10em;
      }
      .enum-table td:nth-child(2) {  
        width: 10em;
      }
      .enum-table td:nth-child(3) {  
        width: auto;
      }

       
      .scalar-value-types-table tr {
        height: 3em;
      }

       
      #toc-container ul {
        list-style-type: none;
        padding-left: 1em;
        line-height: 180%;
        margin: 0;
      }
      #toc > li > a {
        font-weight: bold;
      }

       
      .file-heading {
        width: 100%;
        display: table;
        border-bottom: 1px solid #aaa;
        margin: 4em 0 1.5em 0;
      }
      .file-heading h2 {
        border: none;
        display: table-cell;
      }
      .file-heading a {
        text-align: right;
        display: table-cell;
      }

       
      .badge {
        width: 1.6em;
        height: 1.6em;
        display: inline-block;

        line-height: 1.6em;
        text-align: center;
        font-weight: bold;
        font-size: 60%;

        color: #89ba48;
        background-color: #dff0c8;

        margin: 0.5ex 1em 0.5ex -1em;
        border: 1px solid #fbfbfb;
        border-radius: 1ex;
      }
    </style>

    
    <link rel="stylesheet" type="text/css" href="stylesheet.css"/>
  </head>

  <body>

    <h1 id="title">Protocol Documentation</h1>

    <h2>Table of Contents</h2>

    <div id="toc-container">
      <ul id="toc">
        
          
          <li>
            <a href="#app%2fresults.proto">app/results.proto</a>
            <ul>
              
                <li>
                  <a href="#app.ResultSet"><span class="badge">M</span>ResultSet</a>
                </li>
              
              
              
              
            </ul>
          </li>
        
          
          <li>
            <a href="#cmd%2fbnsd%2fapp%2fcodec.proto">cmd/bnsd/app/codec.proto</a>
            <ul>
              
                <li>
                  <a href="#bnsd.CronTask"><span class="badge">M</span>CronTask</a>
                </li>
              
                <li>
                  <a href="#bnsd.ExecuteBatchMsg"><span class="badge">M</span>ExecuteBatchMsg</a>
                </li>
              
                <li>
                  <a href="#bnsd.ExecuteBatchMsg.Union"><span class="badge">M</span>ExecuteBatchMsg.Union</a>
                </li>
              
                <li>
                  <a href="#bnsd.ExecuteProposalBatchMsg"><span class="badge">M</span>ExecuteProposalBatchMsg</a>
                </li>
              
                <li>
                  <a href="#bnsd.ExecuteProposalBatchMsg.Union"><span class="badge">M</span>ExecuteProposalBatchMsg.Union</a>
                </li>
              
                <li>
                  <a href="#bnsd.ProposalOptions"><span class="badge">M</span>ProposalOptions</a>
                </li>
              
                <li>
                  <a href="#bnsd.Tx"><span class="badge">M</span>Tx</a>
                </li>
              
              
              
              
            </ul>
          </li>
        
          
          <li>
            <a href="#cmd%2fbnsd%2fx%2faccount%2fcodec.proto">cmd/bnsd/x/account/codec.proto</a>
            <ul>
              
                <li>
                  <a href="#account.Account"><span class="badge">M</span>Account</a>
                </li>
              
                <li>
                  <a href="#account.AccountMsgFee"><span class="badge">M</span>AccountMsgFee</a>
                </li>
              
                <li>
                  <a href="#account.AddAccountCertificateMsg"><span class="badge">M</span>AddAccountCertificateMsg</a>
                </li>
              
                <li>
                  <a href="#account.BlockchainAddress"><span class="badge">M</span>BlockchainAddress</a>
                </li>
              
                <li>
                  <a href="#account.Configuration"><span class="badge">M</span>Configuration</a>
                </li>
              
                <li>
                  <a href="#account.DeleteAccountCertificateMsg"><span class="badge">M</span>DeleteAccountCertificateMsg</a>
                </li>
              
                <li>
                  <a href="#account.DeleteAccountMsg"><span class="badge">M</span>DeleteAccountMsg</a>
                </li>
              
                <li>
                  <a href="#account.DeleteDomainMsg"><span class="badge">M</span>DeleteDomainMsg</a>
                </li>
              
                <li>
                  <a href="#account.Domain"><span class="badge">M</span>Domain</a>
                </li>
              
                <li>
                  <a href="#account.FlushDomainMsg"><span class="badge">M</span>FlushDomainMsg</a>
                </li>
              
                <li>
                  <a href="#account.RegisterAccountMsg"><span class="badge">M</span>RegisterAccountMsg</a>
                </li>
              
                <li>
                  <a href="#account.RegisterDomainMsg"><span class="badge">M</span>RegisterDomainMsg</a>
                </li>
              
                <li>
                  <a href="#account.RenewAccountMsg"><span class="badge">M</span>RenewAccountMsg</a>
                </li>
              
                <li>
                  <a href="#account.RenewDomainMsg"><span class="badge">M</span>RenewDomainMsg</a>
                </li>
              
                <li>
                  <a href="#account.ReplaceAccountMsgFeesMsg"><span class="badge">M</span>ReplaceAccountMsgFeesMsg</a>
                </li>
              
                <li>
                  <a href="#account.ReplaceAccountTargetsMsg"><span class="badge">M</span>ReplaceAccountTargetsMsg</a>
                </li>
              
                <li>
                  <a href="#account.TransferAccountMsg"><span class="badge">M</span>TransferAccountMsg</a>
                </li>
              
                <li>
                  <a href="#account.TransferDomainMsg"><span class="badge">M</span>TransferDomainMsg</a>
                </li>
              
                <li>
                  <a href="#account.UpdateConfigurationMsg"><span class="badge">M</span>UpdateConfigurationMsg</a>
                </li>
              
              
              
              
            </ul>
          </li>
        
          
          <li>
            <a href="#cmd%2fbnsd%2fx%2fpreregistration%2fcodec.proto">cmd/bnsd/x/preregistration/codec.proto</a>
            <ul>
              
                <li>
                  <a href="#preregistration.Configuration"><span class="badge">M</span>Configuration</a>
                </li>
              
                <li>
                  <a href="#preregistration.Record"><span class="badge">M</span>Record</a>
                </li>
              
                <li>
                  <a href="#preregistration.RegisterMsg"><span class="badge">M</span>RegisterMsg</a>
                </li>
              
                <li>
                  <a href="#preregistration.UpdateConfigurationMsg"><span class="badge">M</span>UpdateConfigurationMsg</a>
                </li>
              
              
              
              
            </ul>
          </li>
        
          
          <li>
            <a href="#cmd%2fbnsd%2fx%2fqualityscore%2fcodec.proto">cmd/bnsd/x/qualityscore/codec.proto</a>
            <ul>
              
                <li>
                  <a href="#qualityscore.Configuration"><span class="badge">M</span>Configuration</a>
                </li>
              
                <li>
                  <a href="#qualityscore.UpdateConfigurationMsg"><span class="badge">M</span>UpdateConfigurationMsg</a>
                </li>
              
              
              
              
            </ul>
          </li>
        
          
          <li>
            <a href="#cmd%2fbnsd%2fx%2ftermdeposit%2fcodec.proto">cmd/bnsd/x/termdeposit/codec.proto</a>
            <ul>
              
                <li>
                  <a href="#termdeposit.Configuration"><span class="badge">M</span>Configuration</a>
                </li>
              
                <li>
                  <a href="#termdeposit.CreateDepositContractMsg"><span class="badge">M</span>CreateDepositContractMsg</a>
                </li>
              
                <li>
                  <a href="#termdeposit.CustomRate"><span class="badge">M</span>CustomRate</a>
                </li>
              
                <li>
                  <a href="#termdeposit.Deposit"><span class="badge">M</span>Deposit</a>
                </li>
              
                <li>
                  <a href="#termdeposit.DepositBonus"><span class="badge">M</span>DepositBonus</a>
                </li>
              
                <li>
                  <a href="#termdeposit.DepositContract"><span class="badge">M</span>DepositContract</a>
                </li>
              
                <li>
                  <a href="#termdeposit.DepositMsg"><span class="badge">M</span>DepositMsg</a>
                </li>
              
                <li>
                  <a href="#termdeposit.ReleaseDepositMsg"><span class="badge">M</span>ReleaseDepositMsg</a>
                </li>
              
                <li>
                  <a href="#termdeposit.UpdateConfigurationMsg"><span class="badge">M</span>UpdateConfigurationMsg</a>
                </li>
              
              
              
              
            </ul>
          </li>
        
          
          <li>
            <a href="#cmd%2fbnsd%2fx%2fusername%2fcodec.proto">cmd/bnsd/x/username/codec.proto</a>
            <ul>
              
                <li>
                  <a href="#username.BlockchainAddress"><span class="badge">M</span>BlockchainAddress</a>
                </li>
              
                <li>
                  <a href="#username.ChangeTokenTargetsMsg"><span class="badge">M</span>ChangeTokenTargetsMsg</a>
                </li>
              
                <li>
                  <a href="#username.Configuration"><span class="badge">M</span>Configuration</a>
                </li>
              
                <li>
                  <a href="#username.RegisterTokenMsg"><span class="badge">M</span>RegisterTokenMsg</a>
                </li>
              
                <li>
                  <a href="#username.Token"><span class="badge">M</span>Token</a>
                </li>
              
                <li>
                  <a href="#username.TransferTokenMsg"><span class="badge">M</span>TransferTokenMsg</a>
                </li>
              
                <li>
                  <a href="#username.UpdateConfigurationMsg"><span class="badge">M</span>UpdateConfigurationMsg</a>
                </li>
              
              
              
              
            </ul>
          </li>
        
          
          <li>
            <a href="#codec.proto">codec.proto</a>
            <ul>
              
                <li>
                  <a href="#weave.Fraction"><span class="badge">M</span>Fraction</a>
                </li>
              
                <li>
                  <a href="#weave.Metadata"><span class="badge">M</span>Metadata</a>
                </li>
              
                <li>
                  <a href="#weave.PubKey"><span class="badge">M</span>PubKey</a>
                </li>
              
                <li>
                  <a href="#weave.ValidatorUpdate"><span class="badge">M</span>ValidatorUpdate</a>
                </li>
              
                <li>
                  <a href="#weave.ValidatorUpdates"><span class="badge">M</span>ValidatorUpdates</a>
                </li>
              
              
              
              
            </ul>
          </li>
        
          
          <li>
            <a href="#coin%2fcodec.proto">coin/codec.proto</a>
            <ul>
              
                <li>
                  <a href="#coin.Coin"><span class="badge">M</span>Coin</a>
                </li>
              
              
              
              
            </ul>
          </li>
        
          
          <li>
            <a href="#crypto%2fmodels.proto">crypto/models.proto</a>
            <ul>
              
                <li>
                  <a href="#crypto.PrivateKey"><span class="badge">M</span>PrivateKey</a>
                </li>
              
                <li>
                  <a href="#crypto.PublicKey"><span class="badge">M</span>PublicKey</a>
                </li>
              
                <li>
                  <a href="#crypto.Signature"><span class="badge">M</span>Signature</a>
                </li>
              
              
              
              
            </ul>
          </li>
        
          
          <li>
            <a href="#datamigration%2fcodec.proto">datamigration/codec.proto</a>
            <ul>
              
                <li>
                  <a href="#datamigration.ExecuteMigrationMsg"><span class="badge">M</span>ExecuteMigrationMsg</a>
                </li>
              
                <li>
                  <a href="#datamigration.ExecutedMigration"><span class="badge">M</span>ExecutedMigration</a>
                </li>
              
              
              
              
            </ul>
          </li>
        
          
          <li>
            <a href="#migration%2fcodec.proto">migration/codec.proto</a>
            <ul>
              
                <li>
                  <a href="#migration.Configuration"><span class="badge">M</span>Configuration</a>
                </li>
              
                <li>
                  <a href="#migration.Schema"><span class="badge">M</span>Schema</a>
                </li>
              
                <li>
                  <a href="#migration.UpgradeSchemaMsg"><span class="badge">M</span>UpgradeSchemaMsg</a>
                </li>
              
              
              
              
            </ul>
          </li>
        
          
          <li>
            <a href="#orm%2fcodec.proto">orm/codec.proto</a>
            <ul>
              
                <li>
                  <a href="#orm.Counter"><span class="badge">M</span>Counter</a>
                </li>
              
                <li>
                  <a href="#orm.CounterWithID"><span class="badge">M</span>CounterWithID</a>
                </li>
              
                <li>
                  <a href="#orm.MultiRef"><span class="badge">M</span>MultiRef</a>
                </li>
              
                <li>
                  <a href="#orm.VersionedIDRef"><span class="badge">M</span>VersionedIDRef</a>
                </li>
              
              
              
              
            </ul>
          </li>
        
          
          <li>
            <a href="#x%2faswap%2fcodec.proto">x/aswap/codec.proto</a>
            <ul>
              
                <li>
                  <a href="#aswap.CreateMsg"><span class="badge">M</span>CreateMsg</a>
                </li>
              
                <li>
                  <a href="#aswap.ReleaseMsg"><span class="badge">M</span>ReleaseMsg</a>
                </li>
              
                <li>
                  <a href="#aswap.ReturnMsg"><span class="badge">M</span>ReturnMsg</a>
                </li>
              
                <li>
                  <a href="#aswap.Swap"><span class="badge">M</span>Swap</a>
                </li>
              
              
              
              
            </ul>
          </li>
        
          
          <li>
            <a href="#x%2fbatch%2fcodec.proto">x/batch/codec.proto</a>
            <ul>
              
                <li>
                  <a href="#batch.ByteArrayList"><span class="badge">M</span>ByteArrayList</a>
                </li>
              
              
              
              
            </ul>
          </li>
        
          
          <li>
            <a href="#x%2fcash%2fcodec.proto">x/cash/codec.proto</a>
            <ul>
              
                <li>
                  <a href="#cash.Configuration"><span class="badge">M</span>Configuration</a>
                </li>
              
                <li>
                  <a href="#cash.FeeInfo"><span class="badge">M</span>FeeInfo</a>
                </li>
              
                <li>
                  <a href="#cash.SendMsg"><span class="badge">M</span>SendMsg</a>
                </li>
              
                <li>
                  <a href="#cash.Set"><span class="badge">M</span>Set</a>
                </li>
              
                <li>
                  <a href="#cash.UpdateConfigurationMsg"><span class="badge">M</span>UpdateConfigurationMsg</a>
                </li>
              
              
              
              
            </ul>
          </li>
        
          
          <li>
            <a href="#x%2fcron%2fcodec.proto">x/cron/codec.proto</a>
            <ul>
              
                <li>
                  <a href="#cron.TaskResult"><span class="badge">M</span>TaskResult</a>
                </li>
              
              
              
              
            </ul>
          </li>
        
          
          <li>
            <a href="#x%2fcurrency%2fcodec.proto">x/currency/codec.proto</a>
            <ul>
              
                <li>
                  <a href="#currency.CreateMsg"><span class="badge">M</span>CreateMsg</a>
                </li>
              
                <li>
                  <a href="#currency.TokenInfo"><span class="badge">M</span>TokenInfo</a>
                </li>
              
              
              
              
            </ul>
          </li>
        
          
          <li>
            <a href="#x%2fdistribution%2fcodec.proto">x/distribution/codec.proto</a>
            <ul>
              
                <li>
                  <a href="#distribution.CreateMsg"><span class="badge">M</span>CreateMsg</a>
                </li>
              
                <li>
                  <a href="#distribution.Destination"><span class="badge">M</span>Destination</a>
                </li>
              
                <li>
                  <a href="#distribution.DistributeMsg"><span class="badge">M</span>DistributeMsg</a>
                </li>
              
                <li>
                  <a href="#distribution.ResetMsg"><span class="badge">M</span>ResetMsg</a>
                </li>
              
                <li>
                  <a href="#distribution.Revenue"><span class="badge">M</span>Revenue</a>
                </li>
              
              
              
              
            </ul>
          </li>
        
          
          <li>
            <a href="#x%2fescrow%2fcodec.proto">x/escrow/codec.proto</a>
            <ul>
              
                <li>
                  <a href="#escrow.CreateMsg"><span class="badge">M</span>CreateMsg</a>
                </li>
              
                <li>
                  <a href="#escrow.Escrow"><span class="badge">M</span>Escrow</a>
                </li>
              
                <li>
                  <a href="#escrow.ReleaseMsg"><span class="badge">M</span>ReleaseMsg</a>
                </li>
              
                <li>
                  <a href="#escrow.ReturnMsg"><span class="badge">M</span>ReturnMsg</a>
                </li>
              
                <li>
                  <a href="#escrow.UpdatePartiesMsg"><span class="badge">M</span>UpdatePartiesMsg</a>
                </li>
              
              
              
              
            </ul>
          </li>
        
          
          <li>
            <a href="#x%2fgov%2fcodec.proto">x/gov/codec.proto</a>
            <ul>
              
                <li>
                  <a href="#gov.CreateProposalMsg"><span class="badge">M</span>CreateProposalMsg</a>
                </li>
              
                <li>
                  <a href="#gov.CreateTextResolutionMsg"><span class="badge">M</span>CreateTextResolutionMsg</a>
                </li>
              
                <li>
                  <a href="#gov.DeleteProposalMsg"><span class="badge">M</span>DeleteProposalMsg</a>
                </li>
              
                <li>
                  <a href="#gov.ElectionRule"><span class="badge">M</span>ElectionRule</a>
                </li>
              
                <li>
                  <a href="#gov.Elector"><span class="badge">M</span>Elector</a>
                </li>
              
                <li>
                  <a href="#gov.Electorate"><span class="badge">M</span>Electorate</a>
                </li>
              
                <li>
                  <a href="#gov.Fraction"><span class="badge">M</span>Fraction</a>
                </li>
              
                <li>
                  <a href="#gov.Proposal"><span class="badge">M</span>Proposal</a>
                </li>
              
                <li>
                  <a href="#gov.Resolution"><span class="badge">M</span>Resolution</a>
                </li>
              
                <li>
                  <a href="#gov.TallyMsg"><span class="badge">M</span>TallyMsg</a>
                </li>
              
                <li>
                  <a href="#gov.TallyResult"><span class="badge">M</span>TallyResult</a>
                </li>
              
                <li>
                  <a href="#gov.UpdateElectionRuleMsg"><span class="badge">M</span>UpdateElectionRuleMsg</a>
                </li>
              
                <li>
                  <a href="#gov.UpdateElectorateMsg"><span class="badge">M</span>UpdateElectorateMsg</a>
                </li>
              
                <li>
                  <a href="#gov.Vote"><span class="badge">M</span>Vote</a>
                </li>
              
                <li>
                  <a href="#gov.VoteMsg"><span class="badge">M</span>VoteMsg</a>
                </li>
              
              
                <li>
                  <a href="#gov.Proposal.ExecutorResult"><span class="badge">E</span>Proposal.ExecutorResult</a>
                </li>
              
                <li>
                  <a href="#gov.Proposal.Result"><span class="badge">E</span>Proposal.Result</a>
                </li>
              
                <li>
                  <a href="#gov.Proposal.Status"><span class="badge">E</span>Proposal.Status</a>
                </li>
              
                <li>
                  <a href="#gov.VoteOption"><span class="badge">E</span>VoteOption</a>
                </li>
              
              
              
            </ul>
          </li>
        
          
          <li>
            <a href="#x%2fgov%2fsample_test.proto">x/gov/sample_test.proto</a>
            <ul>
              
                <li>
                  <a href="#gov.ProposalOptions"><span class="badge">M</span>ProposalOptions</a>
                </li>
              
              
              
              
            </ul>
          </li>
        
          
          <li>
            <a href="#x%2fmsgfee%2fcodec.proto">x/msgfee/codec.proto</a>
            <ul>
              
                <li>
                  <a href="#msgfee.Configuration"><span class="badge">M</span>Configuration</a>
                </li>
              
                <li>
                  <a href="#msgfee.MsgFee"><span class="badge">M</span>MsgFee</a>
                </li>
              
                <li>
                  <a href="#msgfee.SetMsgFeeMsg"><span class="badge">M</span>SetMsgFeeMsg</a>
                </li>
              
                <li>
                  <a href="#msgfee.UpdateConfigurationMsg"><span class="badge">M</span>UpdateConfigurationMsg</a>
                </li>
              
              
              
              
            </ul>
          </li>
        
          
          <li>
            <a href="#x%2fmultisig%2fcodec.proto">x/multisig/codec.proto</a>
            <ul>
              
                <li>
                  <a href="#multisig.Contract"><span class="badge">M</span>Contract</a>
                </li>
              
                <li>
                  <a href="#multisig.CreateMsg"><span class="badge">M</span>CreateMsg</a>
                </li>
              
                <li>
                  <a href="#multisig.Participant"><span class="badge">M</span>Participant</a>
                </li>
              
                <li>
                  <a href="#multisig.UpdateMsg"><span class="badge">M</span>UpdateMsg</a>
                </li>
              
              
              
              
            </ul>
          </li>
        
          
          <li>
            <a href="#x%2fpaychan%2fcodec.proto">x/paychan/codec.proto</a>
            <ul>
              
                <li>
                  <a href="#paychan.CloseMsg"><span class="badge">M</span>CloseMsg</a>
                </li>
              
                <li>
                  <a href="#paychan.CreateMsg"><span class="badge">M</span>CreateMsg</a>
                </li>
              
                <li>
                  <a href="#paychan.Payment"><span class="badge">M</span>Payment</a>
                </li>
              
                <li>
                  <a href="#paychan.PaymentChannel"><span class="badge">M</span>PaymentChannel</a>
                </li>
              
                <li>
                  <a href="#paychan.TransferMsg"><span class="badge">M</span>TransferMsg</a>
                </li>
              
              
              
              
            </ul>
          </li>
        
          
          <li>
            <a href="#x%2fsigs%2fcodec.proto">x/sigs/codec.proto</a>
            <ul>
              
                <li>
                  <a href="#sigs.BumpSequenceMsg"><span class="badge">M</span>BumpSequenceMsg</a>
                </li>
              
                <li>
                  <a href="#sigs.StdSignature"><span class="badge">M</span>StdSignature</a>
                </li>
              
                <li>
                  <a href="#sigs.UserData"><span class="badge">M</span>UserData</a>
                </li>
              
              
              
              
            </ul>
          </li>
        
          
          <li>
            <a href="#x%2ftxfee%2fcodec.proto">x/txfee/codec.proto</a>
            <ul>
              
                <li>
                  <a href="#txfee.Configuration"><span class="badge">M</span>Configuration</a>
                </li>
              
                <li>
                  <a href="#txfee.UpdateConfigurationMsg"><span class="badge">M</span>UpdateConfigurationMsg</a>
                </li>
              
              
              
              
            </ul>
          </li>
        
          
          <li>
            <a href="#x%2fvalidators%2fcodec.proto">x/validators/codec.proto</a>
            <ul>
              
                <li>
                  <a href="#validators.Accounts"><span class="badge">M</span>Accounts</a>
                </li>
              
                <li>
                  <a href="#validators.ApplyDiffMsg"><span class="badge">M</span>ApplyDiffMsg</a>
                </li>
              
              
              
              
            </ul>
          </li>
        
        <li><a href="#scalar-value-types">Scalar Value Types</a></li>
      </ul>
    </div>

    
      
      <div class="file-heading">
        <h2 id="app/results.proto">app/results.proto</h2><a href="#title">Top</a>
      </div>
      <p></p>

      
        <h3 id="app.ResultSet">ResultSet</h3>
        <p>ResultSet contains a list of keys or values</p>

        
          <table class="field-table">
            <thead>
              <tr><td>Field</td><td>Type</td><td>Label</td><td>Description</td></tr>
            </thead>
            <tbody>
              
                <tr>
                  <td>results</td>
                  <td><a href="#bytes">bytes</a></td>
                  <td>repeated</td>
                  <td><p> </p></td>
                </tr>
              
            </tbody>
          </table>
        

        
      

      

      

      
    
      
      <div class="file-heading">
        <h2 id="cmd/bnsd/app/codec.proto">cmd/bnsd/app/codec.proto</h2><a href="#title">Top</a>
      </div>
      <p></p>

      
        <h3 id="bnsd.CronTask">CronTask</h3>
        <p>CronTask is a format used by the CronMarshaler to marshal and unmarshal cron</p><p>task.</p><p>When there is a gap in message sequence numbers - that most likely means some</p><p>old fields got deprecated. This is done to maintain binary compatibility.</p>

        
          <table class="field-table">
            <thead>
              <tr><td>Field</td><td>Type</td><td>Label</td><td>Description</td></tr>
            </thead>
            <tbody>
              
                <tr>
                  <td>authenticators</td>
                  <td><a href="#bytes">bytes</a></td>
                  <td>repeated</td>
                  <td><p>Authenticators contains a list of conditions that authenticate execution
of this task.
This is one of the main differences between the CronTask and Tx entities.
CronTask is created interanlly and does not have to be signed. Because we
use the same handlers as for the Tx to process a cron task, we must
provide authentication method. This attribute contains all authentication
conditions required for execution, that will be inserted into the context. </p></td>
                </tr>
              
                <tr>
                  <td>escrow_release_msg</td>
                  <td><a href="#escrow.ReleaseMsg">escrow.ReleaseMsg</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>escrow_return_msg</td>
                  <td><a href="#escrow.ReturnMsg">escrow.ReturnMsg</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>distribution_distribute_msg</td>
                  <td><a href="#distribution.DistributeMsg">distribution.DistributeMsg</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>aswap_release_msg</td>
                  <td><a href="#aswap.ReleaseMsg">aswap.ReleaseMsg</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>gov_tally_msg</td>
                  <td><a href="#gov.TallyMsg">gov.TallyMsg</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
            </tbody>
          </table>
        

        
      
        <h3 id="bnsd.ExecuteBatchMsg">ExecuteBatchMsg</h3>
        <p>ExecuteBatchMsg encapsulates multiple messages to support batch transaction</p>

        
          <table class="field-table">
            <thead>
              <tr><td>Field</td><td>Type</td><td>Label</td><td>Description</td></tr>
            </thead>
            <tbody>
              
                <tr>
                  <td>messages</td>
                  <td><a href="#bnsd.ExecuteBatchMsg.Union">ExecuteBatchMsg.Union</a></td>
                  <td>repeated</td>
                  <td><p> </p></td>
                </tr>
              
            </tbody>
          </table>
        

        
      
        <h3 id="bnsd.ExecuteBatchMsg.Union">ExecuteBatchMsg.Union</h3>
        <p></p>

        
          <table class="field-table">
            <thead>
              <tr><td>Field</td><td>Type</td><td>Label</td><td>Description</td></tr>
            </thead>
            <tbody>
              
                <tr>
                  <td>cash_send_msg</td>
                  <td><a href="#cash.SendMsg">cash.SendMsg</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>escrow_create_msg</td>
                  <td><a href="#escrow.CreateMsg">escrow.CreateMsg</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>escrow_release_msg</td>
                  <td><a href="#escrow.ReleaseMsg">escrow.ReleaseMsg</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>escrow_return_msg</td>
                  <td><a href="#escrow.ReturnMsg">escrow.ReturnMsg</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>escrow_update_parties_msg</td>
                  <td><a href="#escrow.UpdatePartiesMsg">escrow.UpdatePartiesMsg</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>multisig_create_msg</td>
                  <td><a href="#multisig.CreateMsg">multisig.CreateMsg</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>multisig_update_msg</td>
                  <td><a href="#multisig.UpdateMsg">multisig.UpdateMsg</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>validators_apply_diff_msg</td>
                  <td><a href="#validators.ApplyDiffMsg">validators.ApplyDiffMsg</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>currency_create_msg</td>
                  <td><a href="#currency.CreateMsg">currency.CreateMsg</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>username_register_token_msg</td>
                  <td><a href="#username.RegisterTokenMsg">username.RegisterTokenMsg</a></td>
                  <td></td>
                  <td><p>No recursive batches! </p></td>
                </tr>
              
                <tr>
                  <td>username_transfer_token_msg</td>
                  <td><a href="#username.TransferTokenMsg">username.TransferTokenMsg</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>username_change_token_targets_msg</td>
                  <td><a href="#username.ChangeTokenTargetsMsg">username.ChangeTokenTargetsMsg</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>username_update_configuration_msg</td>
                  <td><a href="#username.UpdateConfigurationMsg">username.UpdateConfigurationMsg</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>distribution_create_msg</td>
                  <td><a href="#distribution.CreateMsg">distribution.CreateMsg</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>distribution_msg</td>
                  <td><a href="#distribution.DistributeMsg">distribution.DistributeMsg</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>distribution_reset_msg</td>
                  <td><a href="#distribution.ResetMsg">distribution.ResetMsg</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>msgfee_set_msg_fee_msg</td>
                  <td><a href="#msgfee.SetMsgFeeMsg">msgfee.SetMsgFeeMsg</a></td>
                  <td></td>
                  <td><p>upgrade schema is important enough, it should be a solo action
aswap and gov don&#39;t make much sense as part of a batch (no vote buying) </p></td>
                </tr>
              
                <tr>
                  <td>datamigration_execute_migration_msg</td>
                  <td><a href="#datamigration.ExecuteMigrationMsg">datamigration.ExecuteMigrationMsg</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>account_update_configuration_msg</td>
                  <td><a href="#account.UpdateConfigurationMsg">account.UpdateConfigurationMsg</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>account_register_domain_msg</td>
                  <td><a href="#account.RegisterDomainMsg">account.RegisterDomainMsg</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>account_replace_account_msg_fees_msg</td>
                  <td><a href="#account.ReplaceAccountMsgFeesMsg">account.ReplaceAccountMsgFeesMsg</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>account_transfer_domain_msg</td>
                  <td><a href="#account.TransferDomainMsg">account.TransferDomainMsg</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>account_renew_domain_msg</td>
                  <td><a href="#account.RenewDomainMsg">account.RenewDomainMsg</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>account_delete_domain_msg</td>
                  <td><a href="#account.DeleteDomainMsg">account.DeleteDomainMsg</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>account_register_account_msg</td>
                  <td><a href="#account.RegisterAccountMsg">account.RegisterAccountMsg</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>account_transfer_account_msg</td>
                  <td><a href="#account.TransferAccountMsg">account.TransferAccountMsg</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>account_replace_account_targets_msg</td>
                  <td><a href="#account.ReplaceAccountTargetsMsg">account.ReplaceAccountTargetsMsg</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>account_delete_account_msg</td>
                  <td><a href="#account.DeleteAccountMsg">account.DeleteAccountMsg</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>account_flush_domain_msg</td>
                  <td><a href="#account.FlushDomainMsg">account.FlushDomainMsg</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>account_renew_account_msg</td>
                  <td><a href="#account.RenewAccountMsg">account.RenewAccountMsg</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>account_add_account_certificate_msg</td>
                  <td><a href="#account.AddAccountCertificateMsg">account.AddAccountCertificateMsg</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>account_delete_account_certificate_msg</td>
                  <td><a href="#account.DeleteAccountCertificateMsg">account.DeleteAccountCertificateMsg</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>cash_update_configuration_msg</td>
                  <td><a href="#cash.UpdateConfigurationMsg">cash.UpdateConfigurationMsg</a></td>
                  <td></td>
                  <td><p>96 is used by preregistration </p></td>
                </tr>
              
                <tr>
                  <td>txfee_update_configuration_msg</td>
                  <td><a href="#txfee.UpdateConfigurationMsg">txfee.UpdateConfigurationMsg</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>termdeposit_create_deposit_contract_msg</td>
                  <td><a href="#termdeposit.CreateDepositContractMsg">termdeposit.CreateDepositContractMsg</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>termdeposit_deposit_msg</td>
                  <td><a href="#termdeposit.DepositMsg">termdeposit.DepositMsg</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>termdeposit_release_deposit_msg</td>
                  <td><a href="#termdeposit.ReleaseDepositMsg">termdeposit.ReleaseDepositMsg</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>termdeposit_update_configuration_msg</td>
                  <td><a href="#termdeposit.UpdateConfigurationMsg">termdeposit.UpdateConfigurationMsg</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>qualityscore_update_configuration_msg</td>
                  <td><a href="#qualityscore.UpdateConfigurationMsg">qualityscore.UpdateConfigurationMsg</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>preregistration_update_configuration_msg</td>
                  <td><a href="#preregistration.UpdateConfigurationMsg">preregistration.UpdateConfigurationMsg</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>msgfee_update_configuration_msg</td>
                  <td><a href="#msgfee.UpdateConfigurationMsg">msgfee.UpdateConfigurationMsg</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
            </tbody>
          </table>
        

        
      
        <h3 id="bnsd.ExecuteProposalBatchMsg">ExecuteProposalBatchMsg</h3>
        <p></p>

        
          <table class="field-table">
            <thead>
              <tr><td>Field</td><td>Type</td><td>Label</td><td>Description</td></tr>
            </thead>
            <tbody>
              
                <tr>
                  <td>messages</td>
                  <td><a href="#bnsd.ExecuteProposalBatchMsg.Union">ExecuteProposalBatchMsg.Union</a></td>
                  <td>repeated</td>
                  <td><p> </p></td>
                </tr>
              
            </tbody>
          </table>
        

        
      
        <h3 id="bnsd.ExecuteProposalBatchMsg.Union">ExecuteProposalBatchMsg.Union</h3>
        <p></p>

        
          <table class="field-table">
            <thead>
              <tr><td>Field</td><td>Type</td><td>Label</td><td>Description</td></tr>
            </thead>
            <tbody>
              
                <tr>
                  <td>send_msg</td>
                  <td><a href="#cash.SendMsg">cash.SendMsg</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>escrow_release_msg</td>
                  <td><a href="#escrow.ReleaseMsg">escrow.ReleaseMsg</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>update_escrow_parties_msg</td>
                  <td><a href="#escrow.UpdatePartiesMsg">escrow.UpdatePartiesMsg</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>multisig_update_msg</td>
                  <td><a href="#multisig.UpdateMsg">multisig.UpdateMsg</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>validators_apply_diff_msg</td>
                  <td><a href="#validators.ApplyDiffMsg">validators.ApplyDiffMsg</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>username_register_token_msg</td>
                  <td><a href="#username.RegisterTokenMsg">username.RegisterTokenMsg</a></td>
                  <td></td>
                  <td><p>no recursive batches </p></td>
                </tr>
              
                <tr>
                  <td>username_transfer_token_msg</td>
                  <td><a href="#username.TransferTokenMsg">username.TransferTokenMsg</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>username_change_token_targets_msg</td>
                  <td><a href="#username.ChangeTokenTargetsMsg">username.ChangeTokenTargetsMsg</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>username_update_configuration_msg</td>
                  <td><a href="#username.UpdateConfigurationMsg">username.UpdateConfigurationMsg</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>distribution_create_msg</td>
                  <td><a href="#distribution.CreateMsg">distribution.CreateMsg</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>distribution_msg</td>
                  <td><a href="#distribution.DistributeMsg">distribution.DistributeMsg</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>distribution_reset_msg</td>
                  <td><a href="#distribution.ResetMsg">distribution.ResetMsg</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>gov_update_electorate_msg</td>
                  <td><a href="#gov.UpdateElectorateMsg">gov.UpdateElectorateMsg</a></td>
                  <td></td>
                  <td><p>don&#39;t allow UpgradeSchema as part of a batch, as effects are too confusing </p></td>
                </tr>
              
                <tr>
                  <td>gov_update_election_rule_msg</td>
                  <td><a href="#gov.UpdateElectionRuleMsg">gov.UpdateElectionRuleMsg</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>gov_create_text_resolution_msg</td>
                  <td><a href="#gov.CreateTextResolutionMsg">gov.CreateTextResolutionMsg</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>msgfee_set_msg_fee_msg</td>
                  <td><a href="#msgfee.SetMsgFeeMsg">msgfee.SetMsgFeeMsg</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>datamigration_execute_migration_msg</td>
                  <td><a href="#datamigration.ExecuteMigrationMsg">datamigration.ExecuteMigrationMsg</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>account_update_configuration_msg</td>
                  <td><a href="#account.UpdateConfigurationMsg">account.UpdateConfigurationMsg</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>account_register_domain_msg</td>
                  <td><a href="#account.RegisterDomainMsg">account.RegisterDomainMsg</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>account_replace_account_msg_fees_msg</td>
                  <td><a href="#account.ReplaceAccountMsgFeesMsg">account.ReplaceAccountMsgFeesMsg</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>account_transfer_domain_msg</td>
                  <td><a href="#account.TransferDomainMsg">account.TransferDomainMsg</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>account_renew_domain_msg</td>
                  <td><a href="#account.RenewDomainMsg">account.RenewDomainMsg</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>account_delete_domain_msg</td>
                  <td><a href="#account.DeleteDomainMsg">account.DeleteDomainMsg</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>account_register_account_msg</td>
                  <td><a href="#account.RegisterAccountMsg">account.RegisterAccountMsg</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>account_transfer_account_msg</td>
                  <td><a href="#account.TransferAccountMsg">account.TransferAccountMsg</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>account_replace_account_targets_msg</td>
                  <td><a href="#account.ReplaceAccountTargetsMsg">account.ReplaceAccountTargetsMsg</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>account_delete_account_msg</td>
                  <td><a href="#account.DeleteAccountMsg">account.DeleteAccountMsg</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>account_flush_domain_msg</td>
                  <td><a href="#account.FlushDomainMsg">account.FlushDomainMsg</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>account_renew_account_msg</td>
                  <td><a href="#account.RenewAccountMsg">account.RenewAccountMsg</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>account_add_account_certificate_msg</td>
                  <td><a href="#account.AddAccountCertificateMsg">account.AddAccountCertificateMsg</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>account_delete_account_certificate_msg</td>
                  <td><a href="#account.DeleteAccountCertificateMsg">account.DeleteAccountCertificateMsg</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>cash_update_configuration_msg</td>
                  <td><a href="#cash.UpdateConfigurationMsg">cash.UpdateConfigurationMsg</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>txfee_update_configuration_msg</td>
                  <td><a href="#txfee.UpdateConfigurationMsg">txfee.UpdateConfigurationMsg</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>termdeposit_create_deposit_contract_msg</td>
                  <td><a href="#termdeposit.CreateDepositContractMsg">termdeposit.CreateDepositContractMsg</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>termdeposit_deposit_msg</td>
                  <td><a href="#termdeposit.DepositMsg">termdeposit.DepositMsg</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>termdeposit_release_deposit_msg</td>
                  <td><a href="#termdeposit.ReleaseDepositMsg">termdeposit.ReleaseDepositMsg</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>termdeposit_update_configuration_msg</td>
                  <td><a href="#termdeposit.UpdateConfigurationMsg">termdeposit.UpdateConfigurationMsg</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>qualityscore_update_configuration_msg</td>
                  <td><a href="#qualityscore.UpdateConfigurationMsg">qualityscore.UpdateConfigurationMsg</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>preregistration_update_configuration_msg</td>
                  <td><a href="#preregistration.UpdateConfigurationMsg">preregistration.UpdateConfigurationMsg</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>msgfee_update_configuration_msg</td>
                  <td><a href="#msgfee.UpdateConfigurationMsg">msgfee.UpdateConfigurationMsg</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
            </tbody>
          </table>
        

        
      
        <h3 id="bnsd.ProposalOptions">ProposalOptions</h3>
        <p>ProposalOptions are possible items that can be enacted by a governance vote</p><p>Trimmed down somewhat arbitrary to what is believed to be reasonable</p>

        
          <table class="field-table">
            <thead>
              <tr><td>Field</td><td>Type</td><td>Label</td><td>Description</td></tr>
            </thead>
            <tbody>
              
                <tr>
                  <td>cash_send_msg</td>
                  <td><a href="#cash.SendMsg">cash.SendMsg</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>escrow_release_msg</td>
                  <td><a href="#escrow.ReleaseMsg">escrow.ReleaseMsg</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>update_escrow_parties_msg</td>
                  <td><a href="#escrow.UpdatePartiesMsg">escrow.UpdatePartiesMsg</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>multisig_update_msg</td>
                  <td><a href="#multisig.UpdateMsg">multisig.UpdateMsg</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>validators_apply_diff_msg</td>
                  <td><a href="#validators.ApplyDiffMsg">validators.ApplyDiffMsg</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>currency_create_msg</td>
                  <td><a href="#currency.CreateMsg">currency.CreateMsg</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>execute_proposal_batch_msg</td>
                  <td><a href="#bnsd.ExecuteProposalBatchMsg">ExecuteProposalBatchMsg</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>username_register_token_msg</td>
                  <td><a href="#username.RegisterTokenMsg">username.RegisterTokenMsg</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>username_transfer_token_msg</td>
                  <td><a href="#username.TransferTokenMsg">username.TransferTokenMsg</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>username_change_token_targets_msg</td>
                  <td><a href="#username.ChangeTokenTargetsMsg">username.ChangeTokenTargetsMsg</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>username_update_configuration_msg</td>
                  <td><a href="#username.UpdateConfigurationMsg">username.UpdateConfigurationMsg</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>distribution_create_msg</td>
                  <td><a href="#distribution.CreateMsg">distribution.CreateMsg</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>distribution_msg</td>
                  <td><a href="#distribution.DistributeMsg">distribution.DistributeMsg</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>distribution_reset_msg</td>
                  <td><a href="#distribution.ResetMsg">distribution.ResetMsg</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>migration_upgrade_schema_msg</td>
                  <td><a href="#migration.UpgradeSchemaMsg">migration.UpgradeSchemaMsg</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>gov_update_electorate_msg</td>
                  <td><a href="#gov.UpdateElectorateMsg">gov.UpdateElectorateMsg</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>gov_update_election_rule_msg</td>
                  <td><a href="#gov.UpdateElectionRuleMsg">gov.UpdateElectionRuleMsg</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>gov_create_text_resolution_msg</td>
                  <td><a href="#gov.CreateTextResolutionMsg">gov.CreateTextResolutionMsg</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>msgfee_set_msg_fee_msg</td>
                  <td><a href="#msgfee.SetMsgFeeMsg">msgfee.SetMsgFeeMsg</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>datamigration_execute_migration_msg</td>
                  <td><a href="#datamigration.ExecuteMigrationMsg">datamigration.ExecuteMigrationMsg</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>account_update_configuration_msg</td>
                  <td><a href="#account.UpdateConfigurationMsg">account.UpdateConfigurationMsg</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>account_register_domain_msg</td>
                  <td><a href="#account.RegisterDomainMsg">account.RegisterDomainMsg</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>account_replace_account_msg_fees_msg</td>
                  <td><a href="#account.ReplaceAccountMsgFeesMsg">account.ReplaceAccountMsgFeesMsg</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>account_transfer_domain_msg</td>
                  <td><a href="#account.TransferDomainMsg">account.TransferDomainMsg</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>account_renew_domain_msg</td>
                  <td><a href="#account.RenewDomainMsg">account.RenewDomainMsg</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>account_delete_domain_msg</td>
                  <td><a href="#account.DeleteDomainMsg">account.DeleteDomainMsg</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>account_register_account_msg</td>
                  <td><a href="#account.RegisterAccountMsg">account.RegisterAccountMsg</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>account_transfer_account_msg</td>
                  <td><a href="#account.TransferAccountMsg">account.TransferAccountMsg</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>account_replace_account_targets_msg</td>
                  <td><a href="#account.ReplaceAccountTargetsMsg">account.ReplaceAccountTargetsMsg</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>account_delete_account_msg</td>
                  <td><a href="#account.DeleteAccountMsg">account.DeleteAccountMsg</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>account_flush_domain_msg</td>
                  <td><a href="#account.FlushDomainMsg">account.FlushDomainMsg</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>account_renew_account_msg</td>
                  <td><a href="#account.RenewAccountMsg">account.RenewAccountMsg</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>account_add_account_certificate_msg</td>
                  <td><a href="#account.AddAccountCertificateMsg">account.AddAccountCertificateMsg</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>account_delete_account_certificate_msg</td>
                  <td><a href="#account.DeleteAccountCertificateMsg">account.DeleteAccountCertificateMsg</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>cash_update_configuration_msg</td>
                  <td><a href="#cash.UpdateConfigurationMsg">cash.UpdateConfigurationMsg</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>txfee_update_configuration_msg</td>
                  <td><a href="#txfee.UpdateConfigurationMsg">txfee.UpdateConfigurationMsg</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>termdeposit_create_deposit_contract_msg</td>
                  <td><a href="#termdeposit.CreateDepositContractMsg">termdeposit.CreateDepositContractMsg</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>termdeposit_deposit_msg</td>
                  <td><a href="#termdeposit.DepositMsg">termdeposit.DepositMsg</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>termdeposit_release_deposit_msg</td>
                  <td><a href="#termdeposit.ReleaseDepositMsg">termdeposit.ReleaseDepositMsg</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>termdeposit_update_configuration_msg</td>
                  <td><a href="#termdeposit.UpdateConfigurationMsg">termdeposit.UpdateConfigurationMsg</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>qualityscore_update_configuration_msg</td>
                  <td><a href="#qualityscore.UpdateConfigurationMsg">qualityscore.UpdateConfigurationMsg</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>preregistration_update_configuration_msg</td>
                  <td><a href="#preregistration.UpdateConfigurationMsg">preregistration.UpdateConfigurationMsg</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>msgfee_update_configuration_msg</td>
                  <td><a href="#msgfee.UpdateConfigurationMsg">msgfee.UpdateConfigurationMsg</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
            </tbody>
          </table>
        

        
      
        <h3 id="bnsd.Tx">Tx</h3>
        <p>Tx contains the message.</p><p>When extending Tx, follow the rules:</p><p>- range 1-50 is reserved for middlewares,</p><p>- range 51-inf is reserved for different message types,</p><p>- keep the same numbers for the same message types in both bnsd and other</p><p>applications. For example, FeeInfo field is used by both and indexed at</p><p>first position. Skip unused fields (leave index unused or comment out for</p><p>clarity).</p><p>When there is a gap in message sequence numbers - that most likely means some</p><p>old fields got deprecated. This is done to maintain binary compatibility.</p>

        
          <table class="field-table">
            <thead>
              <tr><td>Field</td><td>Type</td><td>Label</td><td>Description</td></tr>
            </thead>
            <tbody>
              
                <tr>
                  <td>fees</td>
                  <td><a href="#cash.FeeInfo">cash.FeeInfo</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>signatures</td>
                  <td><a href="#sigs.StdSignature">sigs.StdSignature</a></td>
                  <td>repeated</td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>multisig</td>
                  <td><a href="#bytes">bytes</a></td>
                  <td>repeated</td>
                  <td><p>Multisig contains IDs of multisig contracts.
empty array results in multisig being ignored, basically the same behaviour
as if it never got supplied. </p></td>
                </tr>
              
                <tr>
                  <td>cash_send_msg</td>
                  <td><a href="#cash.SendMsg">cash.SendMsg</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>escrow_create_msg</td>
                  <td><a href="#escrow.CreateMsg">escrow.CreateMsg</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>escrow_release_msg</td>
                  <td><a href="#escrow.ReleaseMsg">escrow.ReleaseMsg</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>escrow_return_msg</td>
                  <td><a href="#escrow.ReturnMsg">escrow.ReturnMsg</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>escrow_update_parties_msg</td>
                  <td><a href="#escrow.UpdatePartiesMsg">escrow.UpdatePartiesMsg</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>multisig_create_msg</td>
                  <td><a href="#multisig.CreateMsg">multisig.CreateMsg</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>multisig_update_msg</td>
                  <td><a href="#multisig.UpdateMsg">multisig.UpdateMsg</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>validators_apply_diff_msg</td>
                  <td><a href="#validators.ApplyDiffMsg">validators.ApplyDiffMsg</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>currency_create_msg</td>
                  <td><a href="#currency.CreateMsg">currency.CreateMsg</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>execute_batch_msg</td>
                  <td><a href="#bnsd.ExecuteBatchMsg">ExecuteBatchMsg</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>username_register_token_msg</td>
                  <td><a href="#username.RegisterTokenMsg">username.RegisterTokenMsg</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>username_transfer_token_msg</td>
                  <td><a href="#username.TransferTokenMsg">username.TransferTokenMsg</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>username_change_token_targets_msg</td>
                  <td><a href="#username.ChangeTokenTargetsMsg">username.ChangeTokenTargetsMsg</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>username_update_configuration_msg</td>
                  <td><a href="#username.UpdateConfigurationMsg">username.UpdateConfigurationMsg</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>distribution_create_msg</td>
                  <td><a href="#distribution.CreateMsg">distribution.CreateMsg</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>distribution_msg</td>
                  <td><a href="#distribution.DistributeMsg">distribution.DistributeMsg</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>distribution_reset_msg</td>
                  <td><a href="#distribution.ResetMsg">distribution.ResetMsg</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>migration_upgrade_schema_msg</td>
                  <td><a href="#migration.UpgradeSchemaMsg">migration.UpgradeSchemaMsg</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>aswap_create_msg</td>
                  <td><a href="#aswap.CreateMsg">aswap.CreateMsg</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>aswap_release_msg</td>
                  <td><a href="#aswap.ReleaseMsg">aswap.ReleaseMsg</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>aswap_return_msg</td>
                  <td><a href="#aswap.ReturnMsg">aswap.ReturnMsg</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>gov_create_proposal_msg</td>
                  <td><a href="#gov.CreateProposalMsg">gov.CreateProposalMsg</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>gov_delete_proposal_msg</td>
                  <td><a href="#gov.DeleteProposalMsg">gov.DeleteProposalMsg</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>gov_vote_msg</td>
                  <td><a href="#gov.VoteMsg">gov.VoteMsg</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>gov_update_electorate_msg</td>
                  <td><a href="#gov.UpdateElectorateMsg">gov.UpdateElectorateMsg</a></td>
                  <td></td>
                  <td><p>Tally is executed via cron only.
gov.TallyMsg gov_tally_msg = 76; </p></td>
                </tr>
              
                <tr>
                  <td>gov_update_election_rule_msg</td>
                  <td><a href="#gov.UpdateElectionRuleMsg">gov.UpdateElectionRuleMsg</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>msgfee_set_msg_fee_msg</td>
                  <td><a href="#msgfee.SetMsgFeeMsg">msgfee.SetMsgFeeMsg</a></td>
                  <td></td>
                  <td><p>79 is reserved (see ProposalOptions: TextResolutionMsg) </p></td>
                </tr>
              
                <tr>
                  <td>datamigration_execute_migration_msg</td>
                  <td><a href="#datamigration.ExecuteMigrationMsg">datamigration.ExecuteMigrationMsg</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>account_update_configuration_msg</td>
                  <td><a href="#account.UpdateConfigurationMsg">account.UpdateConfigurationMsg</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>account_register_domain_msg</td>
                  <td><a href="#account.RegisterDomainMsg">account.RegisterDomainMsg</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>account_replace_account_msg_fees_msg</td>
                  <td><a href="#account.ReplaceAccountMsgFeesMsg">account.ReplaceAccountMsgFeesMsg</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>account_transfer_domain_msg</td>
                  <td><a href="#account.TransferDomainMsg">account.TransferDomainMsg</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>account_renew_domain_msg</td>
                  <td><a href="#account.RenewDomainMsg">account.RenewDomainMsg</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>account_delete_domain_msg</td>
                  <td><a href="#account.DeleteDomainMsg">account.DeleteDomainMsg</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>account_register_account_msg</td>
                  <td><a href="#account.RegisterAccountMsg">account.RegisterAccountMsg</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>account_transfer_account_msg</td>
                  <td><a href="#account.TransferAccountMsg">account.TransferAccountMsg</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>account_replace_account_targets_msg</td>
                  <td><a href="#account.ReplaceAccountTargetsMsg">account.ReplaceAccountTargetsMsg</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>account_delete_account_msg</td>
                  <td><a href="#account.DeleteAccountMsg">account.DeleteAccountMsg</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>account_flush_domain_msg</td>
                  <td><a href="#account.FlushDomainMsg">account.FlushDomainMsg</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>account_renew_account_msg</td>
                  <td><a href="#account.RenewAccountMsg">account.RenewAccountMsg</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>account_add_account_certificate_msg</td>
                  <td><a href="#account.AddAccountCertificateMsg">account.AddAccountCertificateMsg</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>account_delete_account_certificate_msg</td>
                  <td><a href="#account.DeleteAccountCertificateMsg">account.DeleteAccountCertificateMsg</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>preregistration_register_msg</td>
                  <td><a href="#preregistration.RegisterMsg">preregistration.RegisterMsg</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>cash_update_configuration_msg</td>
                  <td><a href="#cash.UpdateConfigurationMsg">cash.UpdateConfigurationMsg</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>txfee_update_configuration_msg</td>
                  <td><a href="#txfee.UpdateConfigurationMsg">txfee.UpdateConfigurationMsg</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>termdeposit_create_deposit_contract_msg</td>
                  <td><a href="#termdeposit.CreateDepositContractMsg">termdeposit.CreateDepositContractMsg</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>termdeposit_deposit_msg</td>
                  <td><a href="#termdeposit.DepositMsg">termdeposit.DepositMsg</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>termdeposit_release_deposit_msg</td>
                  <td><a href="#termdeposit.ReleaseDepositMsg">termdeposit.ReleaseDepositMsg</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>termdeposit_update_configuration_msg</td>
                  <td><a href="#termdeposit.UpdateConfigurationMsg">termdeposit.UpdateConfigurationMsg</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>qualityscore_update_configuration_msg</td>
                  <td><a href="#qualityscore.UpdateConfigurationMsg">qualityscore.UpdateConfigurationMsg</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>preregistration_update_configuration_msg</td>
                  <td><a href="#preregistration.UpdateConfigurationMsg">preregistration.UpdateConfigurationMsg</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>msgfee_update_configuration_msg</td>
                  <td><a href="#msgfee.UpdateConfigurationMsg">msgfee.UpdateConfigurationMsg</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
            </tbody>
          </table>
        

        
      

      

      

      
    
      
      <div class="file-heading">
        <h2 id="cmd/bnsd/x/account/codec.proto">cmd/bnsd/x/account/codec.proto</h2><a href="#title">Top</a>
      </div>
      <p></p>

      
        <h3 id="account.Account">Account</h3>
        <p>Account represents an account that belongs to a domain.</p><p>String representation of an account is `<name>*<domain>`. Empty name is an</p><p>acceptable account string. Complete validation rules for name and domain are</p><p>declared by configuration entity.</p><p>An account must always belong to an existing domain.</p>

        
          <table class="field-table">
            <thead>
              <tr><td>Field</td><td>Type</td><td>Label</td><td>Description</td></tr>
            </thead>
            <tbody>
              
                <tr>
                  <td>metadata</td>
                  <td><a href="#weave.Metadata">weave.Metadata</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>domain</td>
                  <td><a href="#string">string</a></td>
                  <td></td>
                  <td><p>Domain references a domain that this account belongs to. </p></td>
                </tr>
              
                <tr>
                  <td>name</td>
                  <td><a href="#string">string</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>owner</td>
                  <td><a href="#bytes">bytes</a></td>
                  <td></td>
                  <td><p>Owner is a weave.Address that controls this account. Can be empty.

An account can be administrated by the domain admin. In addition,
ownership can be assigned to an address to allow another party to manage
selected account. </p></td>
                </tr>
              
                <tr>
                  <td>valid_until</td>
                  <td><a href="#int64">int64</a></td>
                  <td></td>
                  <td><p>Valid until defines the expiration date for the account. Expired account
cannot be used or modified. This date is always considered in context of
the domain that this account belongs. Expired domain expires all belonging
accounts as well, event if that account valid until date is not yet due. </p></td>
                </tr>
              
                <tr>
                  <td>targets</td>
                  <td><a href="#account.BlockchainAddress">BlockchainAddress</a></td>
                  <td>repeated</td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>certificates</td>
                  <td><a href="#bytes">bytes</a></td>
                  <td>repeated</td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>broker</td>
                  <td><a href="#bytes">bytes</a></td>
                  <td></td>
                  <td><p>Broker is a weave address (bech32 or hex) that can be provided by a middleman that helped
facilitate the registration transaction. For example, an IOV token holder that registers
a domain in exchange for fiat from a client is a broker. Storing the broker helps identify
the contribution of such a party, which allows for automated commission distribution through
an IOV reward initiative, for example. Must be a weave address that starts with a format or hex
for example: bech32:tiov16hzpmhecd65u993lasmexrdlkvhcxtlnf7f4ws. </p></td>
                </tr>
              
            </tbody>
          </table>
        

        
      
        <h3 id="account.AccountMsgFee">AccountMsgFee</h3>
        <p>AccountMsgFee defines a fee for processing a message of a given type,</p><p>determined by that message path. This is a way to declare an additional</p><p>price for processing a message in a scope of a domain.</p>

        
          <table class="field-table">
            <thead>
              <tr><td>Field</td><td>Type</td><td>Label</td><td>Description</td></tr>
            </thead>
            <tbody>
              
                <tr>
                  <td>msg_path</td>
                  <td><a href="#string">string</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>fee</td>
                  <td><a href="#coin.Coin">coin.Coin</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
            </tbody>
          </table>
        

        
      
        <h3 id="account.AddAccountCertificateMsg">AddAccountCertificateMsg</h3>
        <p></p>

        
          <table class="field-table">
            <thead>
              <tr><td>Field</td><td>Type</td><td>Label</td><td>Description</td></tr>
            </thead>
            <tbody>
              
                <tr>
                  <td>metadata</td>
                  <td><a href="#weave.Metadata">weave.Metadata</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>domain</td>
                  <td><a href="#string">string</a></td>
                  <td></td>
                  <td><p>Domain that account belongs to. </p></td>
                </tr>
              
                <tr>
                  <td>name</td>
                  <td><a href="#string">string</a></td>
                  <td></td>
                  <td><p>Account name. </p></td>
                </tr>
              
                <tr>
                  <td>certificate</td>
                  <td><a href="#bytes">bytes</a></td>
                  <td></td>
                  <td><p>Certificate content. </p></td>
                </tr>
              
            </tbody>
          </table>
        

        
      
        <h3 id="account.BlockchainAddress">BlockchainAddress</h3>
        <p>BlockchainAddress represents a blochain address. This structure clubs together</p><p>blokchain ID together with an address on that network. It is used to point</p><p>to an address on any blockchain network.</p>

        
          <table class="field-table">
            <thead>
              <tr><td>Field</td><td>Type</td><td>Label</td><td>Description</td></tr>
            </thead>
            <tbody>
              
                <tr>
                  <td>blockchain_id</td>
                  <td><a href="#string">string</a></td>
                  <td></td>
                  <td><p>An arbitrary blockchain ID. </p></td>
                </tr>
              
                <tr>
                  <td>address</td>
                  <td><a href="#string">string</a></td>
                  <td></td>
                  <td><p>An address on the specified blockchain network. Address is not a
weave.Address as we cannot know what is the format of an address on the
chain that this token instance links to. Because we do not know the rules
to validate an address for any blockchain ID, this is an arbitrary bulk of
data.
It is more convenient to always use encoded representation of each address
and store it as a string. Using bytes while compact is not as comfortable
to use. </p></td>
                </tr>
              
            </tbody>
          </table>
        

        
      
        <h3 id="account.Configuration">Configuration</h3>
        <p>Configuration is a dynamic configuration used by this extension, managed by</p><p>the functionality provided by gconf package.</p>

        
          <table class="field-table">
            <thead>
              <tr><td>Field</td><td>Type</td><td>Label</td><td>Description</td></tr>
            </thead>
            <tbody>
              
                <tr>
                  <td>metadata</td>
                  <td><a href="#weave.Metadata">weave.Metadata</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>owner</td>
                  <td><a href="#bytes">bytes</a></td>
                  <td></td>
                  <td><p>Owner is present to implement gconf.OwnedConfig interface
This defines the Address that is allowed to update the Configuration object and is
needed to make use of gconf.NewUpdateConfigurationHandler </p></td>
                </tr>
              
                <tr>
                  <td>valid_domain</td>
                  <td><a href="#string">string</a></td>
                  <td></td>
                  <td><p>Valid domain defines a regular expression that every valid domain of an
account must match. Rule must not include the asterisk (*) character. </p></td>
                </tr>
              
                <tr>
                  <td>valid_name</td>
                  <td><a href="#string">string</a></td>
                  <td></td>
                  <td><p>Valid name defines a regular expression that every valid name of an
account must match. Rule must not include the asterisk (*) character. </p></td>
                </tr>
              
                <tr>
                  <td>valid_blockchain_id</td>
                  <td><a href="#string">string</a></td>
                  <td></td>
                  <td><p>Valid blockchain ID defines a regular expression that a valid target
blockchain ID must match. </p></td>
                </tr>
              
                <tr>
                  <td>valid_blockchain_address</td>
                  <td><a href="#string">string</a></td>
                  <td></td>
                  <td><p>Valid blockchain address defines a regular expression that a valid target
blockchain address must match. </p></td>
                </tr>
              
                <tr>
                  <td>domain_renew</td>
                  <td><a href="#int64">int64</a></td>
                  <td></td>
                  <td><p>Domain renew defines the duration of the domain renewal period. </p></td>
                </tr>
              
                <tr>
                  <td>domain_grace_period</td>
                  <td><a href="#int64">int64</a></td>
                  <td></td>
                  <td><p>Domain grace period defines the duration of the release duration of a domain. A non-admin
can delete the domain after the grace period ends. </p></td>
                </tr>
              
            </tbody>
          </table>
        

        
      
        <h3 id="account.DeleteAccountCertificateMsg">DeleteAccountCertificateMsg</h3>
        <p></p>

        
          <table class="field-table">
            <thead>
              <tr><td>Field</td><td>Type</td><td>Label</td><td>Description</td></tr>
            </thead>
            <tbody>
              
                <tr>
                  <td>metadata</td>
                  <td><a href="#weave.Metadata">weave.Metadata</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>domain</td>
                  <td><a href="#string">string</a></td>
                  <td></td>
                  <td><p>Domain that account belongs to. </p></td>
                </tr>
              
                <tr>
                  <td>name</td>
                  <td><a href="#string">string</a></td>
                  <td></td>
                  <td><p>Account name. </p></td>
                </tr>
              
                <tr>
                  <td>certificate_hash</td>
                  <td><a href="#bytes">bytes</a></td>
                  <td></td>
                  <td><p>Certificate hash is a sha256 checksum of the certificate content.
Certificates are bytes without any identifier. They are also not parsed by
the application. We optimize transferred data by sending only a checksum
of a certificate in order to identify it. </p></td>
                </tr>
              
            </tbody>
          </table>
        

        
      
        <h3 id="account.DeleteAccountMsg">DeleteAccountMsg</h3>
        <p>DeleteAccountMsg issues deletion of a name that belongs to given domain.</p><p>Message must be signed by the domain owner.</p>

        
          <table class="field-table">
            <thead>
              <tr><td>Field</td><td>Type</td><td>Label</td><td>Description</td></tr>
            </thead>
            <tbody>
              
                <tr>
                  <td>metadata</td>
                  <td><a href="#weave.Metadata">weave.Metadata</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>domain</td>
                  <td><a href="#string">string</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>name</td>
                  <td><a href="#string">string</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
            </tbody>
          </table>
        

        
      
        <h3 id="account.DeleteDomainMsg">DeleteDomainMsg</h3>
        <p>DeleteDomainMsg issues deletion of a domain and all accounts that belong to</p><p>that domain.</p>

        
          <table class="field-table">
            <thead>
              <tr><td>Field</td><td>Type</td><td>Label</td><td>Description</td></tr>
            </thead>
            <tbody>
              
                <tr>
                  <td>metadata</td>
                  <td><a href="#weave.Metadata">weave.Metadata</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>domain</td>
                  <td><a href="#string">string</a></td>
                  <td></td>
                  <td><p>Name of the domain that is deleted. </p></td>
                </tr>
              
            </tbody>
          </table>
        

        
      
        <h3 id="account.Domain">Domain</h3>
        <p>Domain represents an account domain.</p><p>Domain is a container for accounts. Account representation is</p><p>`<name>*<domain>`.</p><p>Each domain admin controls all accounts that belong to that domain.</p><p>Each domain controls expiration of all accounts that belong to that domain.</p>

        
          <table class="field-table">
            <thead>
              <tr><td>Field</td><td>Type</td><td>Label</td><td>Description</td></tr>
            </thead>
            <tbody>
              
                <tr>
                  <td>metadata</td>
                  <td><a href="#weave.Metadata">weave.Metadata</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>domain</td>
                  <td><a href="#string">string</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>admin</td>
                  <td><a href="#bytes">bytes</a></td>
                  <td></td>
                  <td><p>Admin is a weave.Address that controls this domain and all accounts that
belong to this domain. </p></td>
                </tr>
              
                <tr>
                  <td>valid_until</td>
                  <td><a href="#int64">int64</a></td>
                  <td></td>
                  <td><p>Valid until defines the expiration date for the domain. Expired domain
cannot be used or modified. None of the accounts that belong to an expired
domain can be used of modified as well. </p></td>
                </tr>
              
                <tr>
                  <td>has_superuser</td>
                  <td><a href="#bool">bool</a></td>
                  <td></td>
                  <td><p>Has Superuser is a feature switch flag. </p></td>
                </tr>
              
                <tr>
                  <td>msg_fees</td>
                  <td><a href="#account.AccountMsgFee">AccountMsgFee</a></td>
                  <td>repeated</td>
                  <td><p>Msg fees declares an optional list of additional fees that paying is
required when processing a message within this domain. </p></td>
                </tr>
              
                <tr>
                  <td>account_renew</td>
                  <td><a href="#int64">int64</a></td>
                  <td></td>
                  <td><p>Account review defines the duration of the account renewal period for each
account that belongs to this domain. </p></td>
                </tr>
              
                <tr>
                  <td>broker</td>
                  <td><a href="#bytes">bytes</a></td>
                  <td></td>
                  <td><p>Broker is a weave address (bech32 or hex) that can be provided by a middleman that helped
facilitate the registration transaction. For example, an IOV token holder that registers
a domain in exchange for fiat from a client is a broker. Storing the broker helps identify
the contribution of such a party, which allows for automated commission distribution through
an IOV reward initiative, for example. Must be a weave address that starts with a format or hex
for example: bech32:tiov16hzpmhecd65u993lasmexrdlkvhcxtlnf7f4ws. </p></td>
                </tr>
              
            </tbody>
          </table>
        

        
      
        <h3 id="account.FlushDomainMsg">FlushDomainMsg</h3>
        <p>FlushDomainMsg issues deletion of all names (except the one with an empty</p><p>name) that belongs to given domain.</p><p>Message must be signed by the domain admin.</p>

        
          <table class="field-table">
            <thead>
              <tr><td>Field</td><td>Type</td><td>Label</td><td>Description</td></tr>
            </thead>
            <tbody>
              
                <tr>
                  <td>metadata</td>
                  <td><a href="#weave.Metadata">weave.Metadata</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>domain</td>
                  <td><a href="#string">string</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
            </tbody>
          </table>
        

        
      
        <h3 id="account.RegisterAccountMsg">RegisterAccountMsg</h3>
        <p>RegisterAccountMsg issues registration of an account. Requested domain must</p><p>exist and belong to the same user that signs this message.</p><p>If domain does not have a public registration enabled, transaction must be</p><p>signed by the domain admin.</p>

        
          <table class="field-table">
            <thead>
              <tr><td>Field</td><td>Type</td><td>Label</td><td>Description</td></tr>
            </thead>
            <tbody>
              
                <tr>
                  <td>metadata</td>
                  <td><a href="#weave.Metadata">weave.Metadata</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>domain</td>
                  <td><a href="#string">string</a></td>
                  <td></td>
                  <td><p>Domain that a new account is the be registered under. </p></td>
                </tr>
              
                <tr>
                  <td>name</td>
                  <td><a href="#string">string</a></td>
                  <td></td>
                  <td><p>Name that a new account is the be registered with. </p></td>
                </tr>
              
                <tr>
                  <td>owner</td>
                  <td><a href="#bytes">bytes</a></td>
                  <td></td>
                  <td><p>Owner holds the address of the newly registered account. Can be empty to
leave the administration to the domain owner only. </p></td>
                </tr>
              
                <tr>
                  <td>targets</td>
                  <td><a href="#account.BlockchainAddress">BlockchainAddress</a></td>
                  <td>repeated</td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>broker</td>
                  <td><a href="#bytes">bytes</a></td>
                  <td></td>
                  <td><p>Broker is a weave address (bech32 or hex) that can be provided by a middleman that helped
facilitate the registration transaction. For example, an IOV token holder that registers
a domain in exchange for fiat from a client is a broker. Storing the broker helps identify
the contribution of such a party, which allows for automated commission distribution through
an IOV reward initiative, for example. Must be a weave address that starts with a format or hex
for example: bech32:tiov16hzpmhecd65u993lasmexrdlkvhcxtlnf7f4ws. </p></td>
                </tr>
              
            </tbody>
          </table>
        

        
      
        <h3 id="account.RegisterDomainMsg">RegisterDomainMsg</h3>
        <p>RegisterDomainMsg is issuing registration of a new domain. Requested</p><p>domain name must be available (not yet registed) in order for the request to</p><p>succeed.</p><p>Registering a domain creates an account with no name that belongs to this</p><p>domain.</p>

        
          <table class="field-table">
            <thead>
              <tr><td>Field</td><td>Type</td><td>Label</td><td>Description</td></tr>
            </thead>
            <tbody>
              
                <tr>
                  <td>metadata</td>
                  <td><a href="#weave.Metadata">weave.Metadata</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>domain</td>
                  <td><a href="#string">string</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>admin</td>
                  <td><a href="#bytes">bytes</a></td>
                  <td></td>
                  <td><p>Admin holds the address of the newly registered domain. </p></td>
                </tr>
              
                <tr>
                  <td>has_superuser</td>
                  <td><a href="#bool">bool</a></td>
                  <td></td>
                  <td><p>Has Superuser is a feature switch flag. </p></td>
                </tr>
              
                <tr>
                  <td>broker</td>
                  <td><a href="#bytes">bytes</a></td>
                  <td></td>
                  <td><p>Broker is a weave address (bech32 or hex) that can be provided by a middleman that helped
facilitate the registration transaction. For example, an IOV token holder that registers
a domain in exchange for fiat from a client is a broker. Storing the broker helps identify
the contribution of such a party, which allows for automated commission distribution through
an IOV reward initiative, for example. Must be a weave address that starts with a format or hex
for example: bech32:tiov16hzpmhecd65u993lasmexrdlkvhcxtlnf7f4ws. </p></td>
                </tr>
              
                <tr>
                  <td>msg_fees</td>
                  <td><a href="#account.AccountMsgFee">AccountMsgFee</a></td>
                  <td>repeated</td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>account_renew</td>
                  <td><a href="#int64">int64</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
            </tbody>
          </table>
        

        
      
        <h3 id="account.RenewAccountMsg">RenewAccountMsg</h3>
        <p>RenewAccountMsg is issuing an account expiration time extension. Extension</p><p>period is defined by the domain that this account belongs to.</p>

        
          <table class="field-table">
            <thead>
              <tr><td>Field</td><td>Type</td><td>Label</td><td>Description</td></tr>
            </thead>
            <tbody>
              
                <tr>
                  <td>metadata</td>
                  <td><a href="#weave.Metadata">weave.Metadata</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>domain</td>
                  <td><a href="#string">string</a></td>
                  <td></td>
                  <td><p>Name of the domain that is transferred. </p></td>
                </tr>
              
                <tr>
                  <td>name</td>
                  <td><a href="#string">string</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
            </tbody>
          </table>
        

        
      
        <h3 id="account.RenewDomainMsg">RenewDomainMsg</h3>
        <p>RenewDomainMsg is issuing a domain expiration time extension. Extension</p><p>period is defined by the configuration entity.</p>

        
          <table class="field-table">
            <thead>
              <tr><td>Field</td><td>Type</td><td>Label</td><td>Description</td></tr>
            </thead>
            <tbody>
              
                <tr>
                  <td>metadata</td>
                  <td><a href="#weave.Metadata">weave.Metadata</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>domain</td>
                  <td><a href="#string">string</a></td>
                  <td></td>
                  <td><p>Name of the domain that is transferred. </p></td>
                </tr>
              
            </tbody>
          </table>
        

        
      
        <h3 id="account.ReplaceAccountMsgFeesMsg">ReplaceAccountMsgFeesMsg</h3>
        <p>ReplaceMsgFeesMsg is configuring a set of additional prices that must be</p><p>paid in order to process messages for accounts that belong to this domain.</p>

        
          <table class="field-table">
            <thead>
              <tr><td>Field</td><td>Type</td><td>Label</td><td>Description</td></tr>
            </thead>
            <tbody>
              
                <tr>
                  <td>metadata</td>
                  <td><a href="#weave.Metadata">weave.Metadata</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>domain</td>
                  <td><a href="#string">string</a></td>
                  <td></td>
                  <td><p>Name of the domain that is configured. </p></td>
                </tr>
              
                <tr>
                  <td>new_msg_fees</td>
                  <td><a href="#account.AccountMsgFee">AccountMsgFee</a></td>
                  <td>repeated</td>
                  <td><p>A set of message fees that will replacce existing configuration. </p></td>
                </tr>
              
            </tbody>
          </table>
        

        
      
        <h3 id="account.ReplaceAccountTargetsMsg">ReplaceAccountTargetsMsg</h3>
        <p>ReplaceAccountTargetsMsg is issuing rewrite of all targets that given</p><p>account points to.</p>

        
          <table class="field-table">
            <thead>
              <tr><td>Field</td><td>Type</td><td>Label</td><td>Description</td></tr>
            </thead>
            <tbody>
              
                <tr>
                  <td>metadata</td>
                  <td><a href="#weave.Metadata">weave.Metadata</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>domain</td>
                  <td><a href="#string">string</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>name</td>
                  <td><a href="#string">string</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>new_targets</td>
                  <td><a href="#account.BlockchainAddress">BlockchainAddress</a></td>
                  <td>repeated</td>
                  <td><p> </p></td>
                </tr>
              
            </tbody>
          </table>
        

        
      
        <h3 id="account.TransferAccountMsg">TransferAccountMsg</h3>
        <p>TransferAccountMsg is issuing an ownership transfer over specified account.</p><p>Transfering an account ownership does not affect related domain owner</p><p>permissions to administrate that account.</p><p>Domain that this account belongs to determines if the account owner can</p><p>transfer ownership. Domain admin can always transfer ownership.</p>

        
          <table class="field-table">
            <thead>
              <tr><td>Field</td><td>Type</td><td>Label</td><td>Description</td></tr>
            </thead>
            <tbody>
              
                <tr>
                  <td>metadata</td>
                  <td><a href="#weave.Metadata">weave.Metadata</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>domain</td>
                  <td><a href="#string">string</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>name</td>
                  <td><a href="#string">string</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>new_owner</td>
                  <td><a href="#bytes">bytes</a></td>
                  <td></td>
                  <td><p>New owner holds the address that the ownership of the domain is
transferred to. </p></td>
                </tr>
              
            </tbody>
          </table>
        

        
      
        <h3 id="account.TransferDomainMsg">TransferDomainMsg</h3>
        <p>TransferDomainMsg is issuing a change of the admin for the specified domain.</p>

        
          <table class="field-table">
            <thead>
              <tr><td>Field</td><td>Type</td><td>Label</td><td>Description</td></tr>
            </thead>
            <tbody>
              
                <tr>
                  <td>metadata</td>
                  <td><a href="#weave.Metadata">weave.Metadata</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>domain</td>
                  <td><a href="#string">string</a></td>
                  <td></td>
                  <td><p>Name of the domain that is transferred. </p></td>
                </tr>
              
                <tr>
                  <td>new_admin</td>
                  <td><a href="#bytes">bytes</a></td>
                  <td></td>
                  <td><p>New admin holds the address that the ownership of the domain is
transferred to. </p></td>
                </tr>
              
            </tbody>
          </table>
        

        
      
        <h3 id="account.UpdateConfigurationMsg">UpdateConfigurationMsg</h3>
        <p>UpdateConfigurationMsg is used by the gconf extension to update the</p><p>configuration.</p>

        
          <table class="field-table">
            <thead>
              <tr><td>Field</td><td>Type</td><td>Label</td><td>Description</td></tr>
            </thead>
            <tbody>
              
                <tr>
                  <td>metadata</td>
                  <td><a href="#weave.Metadata">weave.Metadata</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>patch</td>
                  <td><a href="#account.Configuration">Configuration</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
            </tbody>
          </table>
        

        
      

      

      

      
    
      
      <div class="file-heading">
        <h2 id="cmd/bnsd/x/preregistration/codec.proto">cmd/bnsd/x/preregistration/codec.proto</h2><a href="#title">Top</a>
      </div>
      <p></p>

      
        <h3 id="preregistration.Configuration">Configuration</h3>
        <p></p>

        
          <table class="field-table">
            <thead>
              <tr><td>Field</td><td>Type</td><td>Label</td><td>Description</td></tr>
            </thead>
            <tbody>
              
                <tr>
                  <td>metadata</td>
                  <td><a href="#weave.Metadata">weave.Metadata</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>owner</td>
                  <td><a href="#bytes">bytes</a></td>
                  <td></td>
                  <td><p>Owner is present to implement gconf.OwnedConfig interface
This defines the Address that is allowed to update the Configuration object and is
needed to make use of gconf.NewUpdateConfigurationHandler </p></td>
                </tr>
              
            </tbody>
          </table>
        

        
      
        <h3 id="preregistration.Record">Record</h3>
        <p></p>

        
          <table class="field-table">
            <thead>
              <tr><td>Field</td><td>Type</td><td>Label</td><td>Description</td></tr>
            </thead>
            <tbody>
              
                <tr>
                  <td>metadata</td>
                  <td><a href="#weave.Metadata">weave.Metadata</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>domain</td>
                  <td><a href="#string">string</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>owner</td>
                  <td><a href="#bytes">bytes</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
            </tbody>
          </table>
        

        
      
        <h3 id="preregistration.RegisterMsg">RegisterMsg</h3>
        <p></p>

        
          <table class="field-table">
            <thead>
              <tr><td>Field</td><td>Type</td><td>Label</td><td>Description</td></tr>
            </thead>
            <tbody>
              
                <tr>
                  <td>metadata</td>
                  <td><a href="#weave.Metadata">weave.Metadata</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>domain</td>
                  <td><a href="#string">string</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>owner</td>
                  <td><a href="#bytes">bytes</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
            </tbody>
          </table>
        

        
      
        <h3 id="preregistration.UpdateConfigurationMsg">UpdateConfigurationMsg</h3>
        <p></p>

        
          <table class="field-table">
            <thead>
              <tr><td>Field</td><td>Type</td><td>Label</td><td>Description</td></tr>
            </thead>
            <tbody>
              
                <tr>
                  <td>metadata</td>
                  <td><a href="#weave.Metadata">weave.Metadata</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>patch</td>
                  <td><a href="#preregistration.Configuration">Configuration</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
            </tbody>
          </table>
        

        
      

      

      

      
    
      
      <div class="file-heading">
        <h2 id="cmd/bnsd/x/qualityscore/codec.proto">cmd/bnsd/x/qualityscore/codec.proto</h2><a href="#title">Top</a>
      </div>
      <p></p>

      
        <h3 id="qualityscore.Configuration">Configuration</h3>
        <p></p>

        
          <table class="field-table">
            <thead>
              <tr><td>Field</td><td>Type</td><td>Label</td><td>Description</td></tr>
            </thead>
            <tbody>
              
                <tr>
                  <td>metadata</td>
                  <td><a href="#weave.Metadata">weave.Metadata</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>owner</td>
                  <td><a href="#bytes">bytes</a></td>
                  <td></td>
                  <td><p>Owner is present to implement gconf.OwnedConfig interface
This defines the Address that is allowed to update the Configuration object and is
needed to make use of gconf.NewUpdateConfigurationHandler </p></td>
                </tr>
              
                <tr>
                  <td>c</td>
                  <td><a href="#weave.Fraction">weave.Fraction</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>k</td>
                  <td><a href="#weave.Fraction">weave.Fraction</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>kp</td>
                  <td><a href="#weave.Fraction">weave.Fraction</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>q0</td>
                  <td><a href="#weave.Fraction">weave.Fraction</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>x</td>
                  <td><a href="#weave.Fraction">weave.Fraction</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>x_inf</td>
                  <td><a href="#weave.Fraction">weave.Fraction</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>x_sup</td>
                  <td><a href="#weave.Fraction">weave.Fraction</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>delta</td>
                  <td><a href="#weave.Fraction">weave.Fraction</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
            </tbody>
          </table>
        

        
      
        <h3 id="qualityscore.UpdateConfigurationMsg">UpdateConfigurationMsg</h3>
        <p>UpdateConfigurationMsg is used by the gconf extension to update the</p><p>configuration.</p>

        
          <table class="field-table">
            <thead>
              <tr><td>Field</td><td>Type</td><td>Label</td><td>Description</td></tr>
            </thead>
            <tbody>
              
                <tr>
                  <td>metadata</td>
                  <td><a href="#weave.Metadata">weave.Metadata</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>patch</td>
                  <td><a href="#qualityscore.Configuration">Configuration</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
            </tbody>
          </table>
        

        
      

      

      

      
    
      
      <div class="file-heading">
        <h2 id="cmd/bnsd/x/termdeposit/codec.proto">cmd/bnsd/x/termdeposit/codec.proto</h2><a href="#title">Top</a>
      </div>
      <p></p>

      
        <h3 id="termdeposit.Configuration">Configuration</h3>
        <p>Configuration is a dynamic configuration used by this extension, managed by</p><p>the functionality provided by gconf package.</p>

        
          <table class="field-table">
            <thead>
              <tr><td>Field</td><td>Type</td><td>Label</td><td>Description</td></tr>
            </thead>
            <tbody>
              
                <tr>
                  <td>metadata</td>
                  <td><a href="#weave.Metadata">weave.Metadata</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>owner</td>
                  <td><a href="#bytes">bytes</a></td>
                  <td></td>
                  <td><p>Owner is present to implement gconf.OwnedConfig interface. Owner is
allowed to update the configuration. </p></td>
                </tr>
              
                <tr>
                  <td>admin</td>
                  <td><a href="#bytes">bytes</a></td>
                  <td></td>
                  <td><p>Admin is an address that is able to create deposit contracts. </p></td>
                </tr>
              
                <tr>
                  <td>bonuses</td>
                  <td><a href="#termdeposit.DepositBonus">DepositBonus</a></td>
                  <td>repeated</td>
                  <td><p>A list of bonus values applied to each created Deposit instance. </p></td>
                </tr>
              
                <tr>
                  <td>base_rates</td>
                  <td><a href="#termdeposit.CustomRate">CustomRate</a></td>
                  <td>repeated</td>
                  <td><p>Base rates defines a list of addresses that have their q-score value fixed. </p></td>
                </tr>
              
            </tbody>
          </table>
        

        
      
        <h3 id="termdeposit.CreateDepositContractMsg">CreateDepositContractMsg</h3>
        <p>CreateDepositContractMsg creates a new DepositContract entity. This message</p><p>must be signed by the admin as configured via the Configuration entity.</p>

        
          <table class="field-table">
            <thead>
              <tr><td>Field</td><td>Type</td><td>Label</td><td>Description</td></tr>
            </thead>
            <tbody>
              
                <tr>
                  <td>metadata</td>
                  <td><a href="#weave.Metadata">weave.Metadata</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>valid_since</td>
                  <td><a href="#int64">int64</a></td>
                  <td></td>
                  <td><p>An activation date for the newly created deposit contract. </p></td>
                </tr>
              
                <tr>
                  <td>valid_until</td>
                  <td><a href="#int64">int64</a></td>
                  <td></td>
                  <td><p>An expiration date for the newly created deposit contract. </p></td>
                </tr>
              
            </tbody>
          </table>
        

        
      
        <h3 id="termdeposit.CustomRate">CustomRate</h3>
        <p>Custom Rate allows to declare a fixed rate value for an address.</p>

        
          <table class="field-table">
            <thead>
              <tr><td>Field</td><td>Type</td><td>Label</td><td>Description</td></tr>
            </thead>
            <tbody>
              
                <tr>
                  <td>address</td>
                  <td><a href="#bytes">bytes</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>rate</td>
                  <td><a href="#weave.Fraction">weave.Fraction</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
            </tbody>
          </table>
        

        
      
        <h3 id="termdeposit.Deposit">Deposit</h3>
        <p>Deposit represents a single fund deposition. Deposited funds are locked</p><p>until the contract expiration.</p>

        
          <table class="field-table">
            <thead>
              <tr><td>Field</td><td>Type</td><td>Label</td><td>Description</td></tr>
            </thead>
            <tbody>
              
                <tr>
                  <td>metadata</td>
                  <td><a href="#weave.Metadata">weave.Metadata</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>deposit_contract_id</td>
                  <td><a href="#bytes">bytes</a></td>
                  <td></td>
                  <td><p>Deposit contract ID that this funds allocation was made with. </p></td>
                </tr>
              
                <tr>
                  <td>amount</td>
                  <td><a href="#coin.Coin">coin.Coin</a></td>
                  <td></td>
                  <td><p>Total amount that was deposited within a contract. Must be IOV tokens.
This information is used when computing each depositor reward. It is used
instead of looking at the actual wallet state, so that it is not possible
to increase the value of a deposit wallet only shortly before the
computation. </p></td>
                </tr>
              
                <tr>
                  <td>rate</td>
                  <td><a href="#weave.Fraction">weave.Fraction</a></td>
                  <td></td>
                  <td><p>Pro-rated interest rate as detailed in the Confluence spec. </p></td>
                </tr>
              
                <tr>
                  <td>depositor</td>
                  <td><a href="#bytes">bytes</a></td>
                  <td></td>
                  <td><p>Payback is an address that locked funds and interest are send back to once
the contract expires. </p></td>
                </tr>
              
                <tr>
                  <td>released</td>
                  <td><a href="#bool">bool</a></td>
                  <td></td>
                  <td><p>Released flag is used to determin whether the funds locked by this deposit
were already released or not. </p></td>
                </tr>
              
                <tr>
                  <td>created_at</td>
                  <td><a href="#int64">int64</a></td>
                  <td></td>
                  <td><p>CreatedAt is set to the wall clock value at the deposit creation time. </p></td>
                </tr>
              
            </tbody>
          </table>
        

        
      
        <h3 id="termdeposit.DepositBonus">DepositBonus</h3>
        <p>DepositBonus defines a bonus value used to calculate deposit rate. The</p><p>longer the deposit period, the higher the deposit bonus should be.</p>

        
          <table class="field-table">
            <thead>
              <tr><td>Field</td><td>Type</td><td>Label</td><td>Description</td></tr>
            </thead>
            <tbody>
              
                <tr>
                  <td>lockin_period</td>
                  <td><a href="#int32">int32</a></td>
                  <td></td>
                  <td><p>Deposit minimal lockin period required to use this bonus. </p></td>
                </tr>
              
                <tr>
                  <td>bonus</td>
                  <td><a href="#weave.Fraction">weave.Fraction</a></td>
                  <td></td>
                  <td><p>Bonus rate for given range. </p></td>
                </tr>
              
            </tbody>
          </table>
        

        
      
        <h3 id="termdeposit.DepositContract">DepositContract</h3>
        <p>DepositContract is an entity created in order to allow investment deposits.</p><p>Anyone can deposit funds and therefore sign a deposit contract in order to</p><p>lock funds and receive appropriate interest after the contract expires.</p>

        
          <table class="field-table">
            <thead>
              <tr><td>Field</td><td>Type</td><td>Label</td><td>Description</td></tr>
            </thead>
            <tbody>
              
                <tr>
                  <td>metadata</td>
                  <td><a href="#weave.Metadata">weave.Metadata</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>valid_since</td>
                  <td><a href="#int64">int64</a></td>
                  <td></td>
                  <td><p>Valid since defines the beginning of when the contract is active. </p></td>
                </tr>
              
                <tr>
                  <td>valid_until</td>
                  <td><a href="#int64">int64</a></td>
                  <td></td>
                  <td><p>An expiration date for this deposit contract. After this deadline, all
depositor funds are released and deposit contract is no longer active. </p></td>
                </tr>
              
            </tbody>
          </table>
        

        
      
        <h3 id="termdeposit.DepositMsg">DepositMsg</h3>
        <p>DepositMsg can be send by anyone to deposit funds within a non expired</p><p>contract. Funds will stay locked until that contract expiration date.</p>

        
          <table class="field-table">
            <thead>
              <tr><td>Field</td><td>Type</td><td>Label</td><td>Description</td></tr>
            </thead>
            <tbody>
              
                <tr>
                  <td>metadata</td>
                  <td><a href="#weave.Metadata">weave.Metadata</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>deposit_contract_id</td>
                  <td><a href="#bytes">bytes</a></td>
                  <td></td>
                  <td><p>Deposit contract ID that this funds allocation was made with. Contract
must not be expired. </p></td>
                </tr>
              
                <tr>
                  <td>amount</td>
                  <td><a href="#coin.Coin">coin.Coin</a></td>
                  <td></td>
                  <td><p>Total amount that was deposited within a contract. Must be IOV tokens. </p></td>
                </tr>
              
                <tr>
                  <td>depositor</td>
                  <td><a href="#bytes">bytes</a></td>
                  <td></td>
                  <td><p>Payback is an address that locked funds and interest are send back to once
the contract expires. </p></td>
                </tr>
              
            </tbody>
          </table>
        

        
      
        <h3 id="termdeposit.ReleaseDepositMsg">ReleaseDepositMsg</h3>
        <p>ReleaseDepositMsg cause releasing of all funds allocated within given</p><p>deposit. Related contract must be expired. Anyone can submit this message.</p>

        
          <table class="field-table">
            <thead>
              <tr><td>Field</td><td>Type</td><td>Label</td><td>Description</td></tr>
            </thead>
            <tbody>
              
                <tr>
                  <td>metadata</td>
                  <td><a href="#weave.Metadata">weave.Metadata</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>deposit_id</td>
                  <td><a href="#bytes">bytes</a></td>
                  <td></td>
                  <td><p>ID of the deposit that is to be released. </p></td>
                </tr>
              
            </tbody>
          </table>
        

        
      
        <h3 id="termdeposit.UpdateConfigurationMsg">UpdateConfigurationMsg</h3>
        <p></p>

        
          <table class="field-table">
            <thead>
              <tr><td>Field</td><td>Type</td><td>Label</td><td>Description</td></tr>
            </thead>
            <tbody>
              
                <tr>
                  <td>metadata</td>
                  <td><a href="#weave.Metadata">weave.Metadata</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>patch</td>
                  <td><a href="#termdeposit.Configuration">Configuration</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
            </tbody>
          </table>
        

        
      

      

      

      
    
      
      <div class="file-heading">
        <h2 id="cmd/bnsd/x/username/codec.proto">cmd/bnsd/x/username/codec.proto</h2><a href="#title">Top</a>
      </div>
      <p></p>

      
        <h3 id="username.BlockchainAddress">BlockchainAddress</h3>
        <p>BlockchainAddress represents a blochain address. This structure clubs together</p><p>blokchain ID together with an address on that network. It is used to point</p><p>to an address on any blockchain network.</p>

        
          <table class="field-table">
            <thead>
              <tr><td>Field</td><td>Type</td><td>Label</td><td>Description</td></tr>
            </thead>
            <tbody>
              
                <tr>
                  <td>blockchain_id</td>
                  <td><a href="#string">string</a></td>
                  <td></td>
                  <td><p>An arbitrary blockchain ID. </p></td>
                </tr>
              
                <tr>
                  <td>address</td>
                  <td><a href="#string">string</a></td>
                  <td></td>
                  <td><p>An address on the specified blockchain network. Address is not a
weave.Address as we cannot know what is the format of an address on the
chain that this token instance links to. Because we do not know the rules
to validate an address for any blockchain ID, this is an arbitrary bulk of
data.
It is more convinient to always use encoded representation of each address
and store it as a string. Using bytes while compact is not as comfortable
to use. </p></td>
                </tr>
              
            </tbody>
          </table>
        

        
      
        <h3 id="username.ChangeTokenTargetsMsg">ChangeTokenTargetsMsg</h3>
        <p>ChangeTokenTargetsMsg is a request to change the address that this token</p><p>points to. Only the owner of a token can request this operation.</p>

        
          <table class="field-table">
            <thead>
              <tr><td>Field</td><td>Type</td><td>Label</td><td>Description</td></tr>
            </thead>
            <tbody>
              
                <tr>
                  <td>metadata</td>
                  <td><a href="#weave.Metadata">weave.Metadata</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>username</td>
                  <td><a href="#string">string</a></td>
                  <td></td>
                  <td><p>Username is the unique name of the token, for example alice*iov </p></td>
                </tr>
              
                <tr>
                  <td>new_targets</td>
                  <td><a href="#username.BlockchainAddress">BlockchainAddress</a></td>
                  <td>repeated</td>
                  <td><p>New targets is a list of blockchain addresses that this token should point
to after the change. Old list is overwritten with what is provided. </p></td>
                </tr>
              
            </tbody>
          </table>
        

        
      
        <h3 id="username.Configuration">Configuration</h3>
        <p>Configuration is a dynamic configuration used by this extension, managed by</p><p>the functionality provided by gconf package.</p>

        
          <table class="field-table">
            <thead>
              <tr><td>Field</td><td>Type</td><td>Label</td><td>Description</td></tr>
            </thead>
            <tbody>
              
                <tr>
                  <td>metadata</td>
                  <td><a href="#weave.Metadata">weave.Metadata</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>owner</td>
                  <td><a href="#bytes">bytes</a></td>
                  <td></td>
                  <td><p>Owner is present to implement gconf.OwnedConfig interface
This defines the Address that is allowed to update the Configuration object and is
needed to make use of gconf.NewUpdateConfigurationHandler </p></td>
                </tr>
              
                <tr>
                  <td>valid_username_name</td>
                  <td><a href="#string">string</a></td>
                  <td></td>
                  <td><p>Valid username name defines a regular expression that every valid username
part name must match (a username is &lt;name&gt;*&lt;label&gt;) </p></td>
                </tr>
              
                <tr>
                  <td>valid_username_label</td>
                  <td><a href="#string">string</a></td>
                  <td></td>
                  <td><p>Valid username label defines a regular expression that every valid
namespace label must match (a username is &lt;name&gt;*&lt;label&gt;) </p></td>
                </tr>
              
            </tbody>
          </table>
        

        
      
        <h3 id="username.RegisterTokenMsg">RegisterTokenMsg</h3>
        <p>RegisterTokenMsg is creating a new username token. The owner is always set</p><p>to the main signer.</p>

        
          <table class="field-table">
            <thead>
              <tr><td>Field</td><td>Type</td><td>Label</td><td>Description</td></tr>
            </thead>
            <tbody>
              
                <tr>
                  <td>metadata</td>
                  <td><a href="#weave.Metadata">weave.Metadata</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>username</td>
                  <td><a href="#string">string</a></td>
                  <td></td>
                  <td><p>Username is the unique name of the token, for example alice*iov </p></td>
                </tr>
              
                <tr>
                  <td>targets</td>
                  <td><a href="#username.BlockchainAddress">BlockchainAddress</a></td>
                  <td>repeated</td>
                  <td><p>Targets is a blockchain address list that this token should point to. </p></td>
                </tr>
              
            </tbody>
          </table>
        

        
      
        <h3 id="username.Token">Token</h3>
        <p>Token model represents a username mapping to an address together with all</p><p>metadata.</p><p>Each Token model is stored using the username as the key. This guarantee</p><p>that the name is unique. Username is a combination of a name and a domain.</p><p>The format is <name>*<domain></p><p>Each token points to a blockchain and an address on that blockchain. Both</p><p>blockchain ID and address are an arbitrary string as we do not want to limit</p><p>ourselves to certain patterns.</p>

        
          <table class="field-table">
            <thead>
              <tr><td>Field</td><td>Type</td><td>Label</td><td>Description</td></tr>
            </thead>
            <tbody>
              
                <tr>
                  <td>metadata</td>
                  <td><a href="#weave.Metadata">weave.Metadata</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>targets</td>
                  <td><a href="#username.BlockchainAddress">BlockchainAddress</a></td>
                  <td>repeated</td>
                  <td><p>Targets specifies where this username token points to. This must be at
least one blockchain address elemenet. </p></td>
                </tr>
              
                <tr>
                  <td>owner</td>
                  <td><a href="#bytes">bytes</a></td>
                  <td></td>
                  <td><p>Owner is a weave.Address that controls this token. Only the owner can
modify a username token. </p></td>
                </tr>
              
            </tbody>
          </table>
        

        
      
        <h3 id="username.TransferTokenMsg">TransferTokenMsg</h3>
        <p>TransferTokenMsg is a request to transfer an ownership of a token. The</p><p>mesage must be signed by the current token owner. Acceptance of the new</p><p>owner is not required in order to succeed.</p>

        
          <table class="field-table">
            <thead>
              <tr><td>Field</td><td>Type</td><td>Label</td><td>Description</td></tr>
            </thead>
            <tbody>
              
                <tr>
                  <td>metadata</td>
                  <td><a href="#weave.Metadata">weave.Metadata</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>username</td>
                  <td><a href="#string">string</a></td>
                  <td></td>
                  <td><p>Username is the unique name of the token, for example alice*iov </p></td>
                </tr>
              
                <tr>
                  <td>new_owner</td>
                  <td><a href="#bytes">bytes</a></td>
                  <td></td>
                  <td><p>Owner is a weave address that will owns this token after the change. </p></td>
                </tr>
              
            </tbody>
          </table>
        

        
      
        <h3 id="username.UpdateConfigurationMsg">UpdateConfigurationMsg</h3>
        <p>UpdateConfigurationMsg is used by the gconf extension to update the</p><p>configuration.</p>

        
          <table class="field-table">
            <thead>
              <tr><td>Field</td><td>Type</td><td>Label</td><td>Description</td></tr>
            </thead>
            <tbody>
              
                <tr>
                  <td>metadata</td>
                  <td><a href="#weave.Metadata">weave.Metadata</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>patch</td>
                  <td><a href="#username.Configuration">Configuration</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
            </tbody>
          </table>
        

        
      

      

      

      
    
      
      <div class="file-heading">
        <h2 id="codec.proto">codec.proto</h2><a href="#title">Top</a>
      </div>
      <p></p>

      
        <h3 id="weave.Fraction">Fraction</h3>
        <p>The Fraction type represents a floating point number without the precision</p><p>issues that native floating point type has.</p>

        
          <table class="field-table">
            <thead>
              <tr><td>Field</td><td>Type</td><td>Label</td><td>Description</td></tr>
            </thead>
            <tbody>
              
                <tr>
                  <td>numerator</td>
                  <td><a href="#uint32">uint32</a></td>
                  <td></td>
                  <td><p>The top number in a fraction. </p></td>
                </tr>
              
                <tr>
                  <td>denominator</td>
                  <td><a href="#uint32">uint32</a></td>
                  <td></td>
                  <td><p>The bottom number </p></td>
                </tr>
              
            </tbody>
          </table>
        

        
      
        <h3 id="weave.Metadata">Metadata</h3>
        <p>Metadata is expected to be the first argument of every message or model. It</p><p>contains all essential attributes.</p><p>Each protobuf message should be declared with the first attribute being</p><p>weave.Metadata metadata = 1;</p>

        
          <table class="field-table">
            <thead>
              <tr><td>Field</td><td>Type</td><td>Label</td><td>Description</td></tr>
            </thead>
            <tbody>
              
                <tr>
                  <td>schema</td>
                  <td><a href="#uint32">uint32</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
            </tbody>
          </table>
        

        
      
        <h3 id="weave.PubKey">PubKey</h3>
        <p>PubKey represents a validator public key.</p>

        
          <table class="field-table">
            <thead>
              <tr><td>Field</td><td>Type</td><td>Label</td><td>Description</td></tr>
            </thead>
            <tbody>
              
                <tr>
                  <td>type</td>
                  <td><a href="#string">string</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>data</td>
                  <td><a href="#bytes">bytes</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
            </tbody>
          </table>
        

        
      
        <h3 id="weave.ValidatorUpdate">ValidatorUpdate</h3>
        <p>ValidatorUpdate represents an update to validator set.</p>

        
          <table class="field-table">
            <thead>
              <tr><td>Field</td><td>Type</td><td>Label</td><td>Description</td></tr>
            </thead>
            <tbody>
              
                <tr>
                  <td>pub_key</td>
                  <td><a href="#weave.PubKey">PubKey</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>power</td>
                  <td><a href="#int64">int64</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
            </tbody>
          </table>
        

        
      
        <h3 id="weave.ValidatorUpdates">ValidatorUpdates</h3>
        <p>ValidatorUpdates represents latest validator state, currently used to validate SetValidatorMsg transactions.</p>

        
          <table class="field-table">
            <thead>
              <tr><td>Field</td><td>Type</td><td>Label</td><td>Description</td></tr>
            </thead>
            <tbody>
              
                <tr>
                  <td>validator_updates</td>
                  <td><a href="#weave.ValidatorUpdate">ValidatorUpdate</a></td>
                  <td>repeated</td>
                  <td><p> </p></td>
                </tr>
              
            </tbody>
          </table>
        

        
      

      

      

      
    
      
      <div class="file-heading">
        <h2 id="coin/codec.proto">coin/codec.proto</h2><a href="#title">Top</a>
      </div>
      <p></p>

      
        <h3 id="coin.Coin">Coin</h3>
        <p>Coin can hold any amount between -1 billion and +1 billion</p><p>at steps of 10^-9. It is a fixed-point decimal</p><p>representation and uses integers to avoid rounding</p><p>associated with floats.</p><p>Every code has a denomination, which is just a</p><p>If you want anything more complex, you should write your</p><p>own type, possibly borrowing from this code.</p>

        
          <table class="field-table">
            <thead>
              <tr><td>Field</td><td>Type</td><td>Label</td><td>Description</td></tr>
            </thead>
            <tbody>
              
                <tr>
                  <td>whole</td>
                  <td><a href="#int64">int64</a></td>
                  <td></td>
                  <td><p>Whole coins, -10^15 &lt; integer &lt; 10^15 </p></td>
                </tr>
              
                <tr>
                  <td>fractional</td>
                  <td><a href="#int64">int64</a></td>
                  <td></td>
                  <td><p>Billionth of coins. 0 &lt;= abs(fractional) &lt; 10^9
If fractional != 0, must have same sign as integer </p></td>
                </tr>
              
                <tr>
                  <td>ticker</td>
                  <td><a href="#string">string</a></td>
                  <td></td>
                  <td><p>Ticker is 3-4 upper-case letters and
all Coins of the same currency can be combined </p></td>
                </tr>
              
            </tbody>
          </table>
        

        
      

      

      

      
    
      
      <div class="file-heading">
        <h2 id="crypto/models.proto">crypto/models.proto</h2><a href="#title">Top</a>
      </div>
      <p></p>

      
        <h3 id="crypto.PrivateKey">PrivateKey</h3>
        <p></p>

        
          <table class="field-table">
            <thead>
              <tr><td>Field</td><td>Type</td><td>Label</td><td>Description</td></tr>
            </thead>
            <tbody>
              
                <tr>
                  <td>ed25519</td>
                  <td><a href="#bytes">bytes</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
            </tbody>
          </table>
        

        
      
        <h3 id="crypto.PublicKey">PublicKey</h3>
        <p></p>

        
          <table class="field-table">
            <thead>
              <tr><td>Field</td><td>Type</td><td>Label</td><td>Description</td></tr>
            </thead>
            <tbody>
              
                <tr>
                  <td>ed25519</td>
                  <td><a href="#bytes">bytes</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
            </tbody>
          </table>
        

        
      
        <h3 id="crypto.Signature">Signature</h3>
        <p></p>

        
          <table class="field-table">
            <thead>
              <tr><td>Field</td><td>Type</td><td>Label</td><td>Description</td></tr>
            </thead>
            <tbody>
              
                <tr>
                  <td>ed25519</td>
                  <td><a href="#bytes">bytes</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
            </tbody>
          </table>
        

        
      

      

      

      
    
      
      <div class="file-heading">
        <h2 id="datamigration/codec.proto">datamigration/codec.proto</h2><a href="#title">Top</a>
      </div>
      <p></p>

      
        <h3 id="datamigration.ExecuteMigrationMsg">ExecuteMigrationMsg</h3>
        <p></p>

        
          <table class="field-table">
            <thead>
              <tr><td>Field</td><td>Type</td><td>Label</td><td>Description</td></tr>
            </thead>
            <tbody>
              
                <tr>
                  <td>metadata</td>
                  <td><a href="#weave.Metadata">weave.Metadata</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>migration_id</td>
                  <td><a href="#string">string</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
            </tbody>
          </table>
        

        
      
        <h3 id="datamigration.ExecutedMigration">ExecutedMigration</h3>
        <p></p>

        
          <table class="field-table">
            <thead>
              <tr><td>Field</td><td>Type</td><td>Label</td><td>Description</td></tr>
            </thead>
            <tbody>
              
                <tr>
                  <td>metadata</td>
                  <td><a href="#weave.Metadata">weave.Metadata</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
            </tbody>
          </table>
        

        
      

      

      

      
    
      
      <div class="file-heading">
        <h2 id="migration/codec.proto">migration/codec.proto</h2><a href="#title">Top</a>
      </div>
      <p></p>

      
        <h3 id="migration.Configuration">Configuration</h3>
        <p></p>

        
          <table class="field-table">
            <thead>
              <tr><td>Field</td><td>Type</td><td>Label</td><td>Description</td></tr>
            </thead>
            <tbody>
              
                <tr>
                  <td>admin</td>
                  <td><a href="#bytes">bytes</a></td>
                  <td></td>
                  <td><p>Admin holds the address of the administrator allowed to upgrade schema
versions. If you wish to permit more than one entity to be an admin, use
multisig. </p></td>
                </tr>
              
            </tbody>
          </table>
        

        
      
        <h3 id="migration.Schema">Schema</h3>
        <p>Schema declares the maxiumum supported schema version for a package.</p>

        
          <table class="field-table">
            <thead>
              <tr><td>Field</td><td>Type</td><td>Label</td><td>Description</td></tr>
            </thead>
            <tbody>
              
                <tr>
                  <td>metadata</td>
                  <td><a href="#weave.Metadata">weave.Metadata</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>pkg</td>
                  <td><a href="#string">string</a></td>
                  <td></td>
                  <td><p>Pkg holds the name of the package that this migration is declared for.
For example, for extension `x/myext` package value is `myext` </p></td>
                </tr>
              
                <tr>
                  <td>version</td>
                  <td><a href="#uint32">uint32</a></td>
                  <td></td>
                  <td><p>Version holds the highest supported schema version. </p></td>
                </tr>
              
            </tbody>
          </table>
        

        
      
        <h3 id="migration.UpgradeSchemaMsg">UpgradeSchemaMsg</h3>
        <p>UpgradeSchemaMsg is a request to upgrade schema version of a given package</p><p>by one version.</p>

        
          <table class="field-table">
            <thead>
              <tr><td>Field</td><td>Type</td><td>Label</td><td>Description</td></tr>
            </thead>
            <tbody>
              
                <tr>
                  <td>metadata</td>
                  <td><a href="#weave.Metadata">weave.Metadata</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>pkg</td>
                  <td><a href="#string">string</a></td>
                  <td></td>
                  <td><p>Name of the package that schema version upgrade is made for. </p></td>
                </tr>
              
                <tr>
                  <td>to_version</td>
                  <td><a href="#uint32">uint32</a></td>
                  <td></td>
                  <td><p>To version defines to which version upgrade this schema. It always must be
a value one higher than the currently registered schema or 1 if this is
the initial upgrade.
This value must be provided to avoid consecutive upgrades submitted by a
mistake. This ensures at most one delivery as upgrades to an invalid
version are rejected. </p></td>
                </tr>
              
            </tbody>
          </table>
        

        
      

      

      

      
    
      
      <div class="file-heading">
        <h2 id="orm/codec.proto">orm/codec.proto</h2><a href="#title">Top</a>
      </div>
      <p></p>

      
        <h3 id="orm.Counter">Counter</h3>
        <p>Counter could be used for sequence, but mainly just for test</p>

        
          <table class="field-table">
            <thead>
              <tr><td>Field</td><td>Type</td><td>Label</td><td>Description</td></tr>
            </thead>
            <tbody>
              
                <tr>
                  <td>count</td>
                  <td><a href="#int64">int64</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
            </tbody>
          </table>
        

        
      
        <h3 id="orm.CounterWithID">CounterWithID</h3>
        <p>CounterWithID could be used for sequence, but mainly just for test</p>

        
          <table class="field-table">
            <thead>
              <tr><td>Field</td><td>Type</td><td>Label</td><td>Description</td></tr>
            </thead>
            <tbody>
              
                <tr>
                  <td>primary_key</td>
                  <td><a href="#bytes">bytes</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>count</td>
                  <td><a href="#int64">int64</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
            </tbody>
          </table>
        

        
      
        <h3 id="orm.MultiRef">MultiRef</h3>
        <p>MultiRef contains a list of references to pks</p>

        
          <table class="field-table">
            <thead>
              <tr><td>Field</td><td>Type</td><td>Label</td><td>Description</td></tr>
            </thead>
            <tbody>
              
                <tr>
                  <td>refs</td>
                  <td><a href="#bytes">bytes</a></td>
                  <td>repeated</td>
                  <td><p> </p></td>
                </tr>
              
            </tbody>
          </table>
        

        
      
        <h3 id="orm.VersionedIDRef">VersionedIDRef</h3>
        <p>VersionedID is the combination of document ID and version number.</p>

        
          <table class="field-table">
            <thead>
              <tr><td>Field</td><td>Type</td><td>Label</td><td>Description</td></tr>
            </thead>
            <tbody>
              
                <tr>
                  <td>id</td>
                  <td><a href="#bytes">bytes</a></td>
                  <td></td>
                  <td><p>Unique identifier </p></td>
                </tr>
              
                <tr>
                  <td>version</td>
                  <td><a href="#uint32">uint32</a></td>
                  <td></td>
                  <td><p>Document version, starting with 1. </p></td>
                </tr>
              
            </tbody>
          </table>
        

        
      

      

      

      
    
      
      <div class="file-heading">
        <h2 id="x/aswap/codec.proto">x/aswap/codec.proto</h2><a href="#title">Top</a>
      </div>
      <p></p>

      
        <h3 id="aswap.CreateMsg">CreateMsg</h3>
        <p>CreateMsg creates a Swap with some coins.</p>

        
          <table class="field-table">
            <thead>
              <tr><td>Field</td><td>Type</td><td>Label</td><td>Description</td></tr>
            </thead>
            <tbody>
              
                <tr>
                  <td>metadata</td>
                  <td><a href="#weave.Metadata">weave.Metadata</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>source</td>
                  <td><a href="#bytes">bytes</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>preimage_hash</td>
                  <td><a href="#bytes">bytes</a></td>
                  <td></td>
                  <td><p>sha256 hash of preimage, 32 bytes long </p></td>
                </tr>
              
                <tr>
                  <td>destination</td>
                  <td><a href="#bytes">bytes</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>amount</td>
                  <td><a href="#coin.Coin">coin.Coin</a></td>
                  <td>repeated</td>
                  <td><p>amount may contain multiple token types </p></td>
                </tr>
              
                <tr>
                  <td>timeout</td>
                  <td><a href="#int64">int64</a></td>
                  <td></td>
                  <td><p>Timeout represents wall clock time. </p></td>
                </tr>
              
                <tr>
                  <td>memo</td>
                  <td><a href="#string">string</a></td>
                  <td></td>
                  <td><p>max length 128 character </p></td>
                </tr>
              
            </tbody>
          </table>
        

        
      
        <h3 id="aswap.ReleaseMsg">ReleaseMsg</h3>
        <p>ReleaseMsg releases the tokens to the destination.</p><p>This operation is authorized by preimage, which is sent raw and then hashed on the backend.</p>

        
          <table class="field-table">
            <thead>
              <tr><td>Field</td><td>Type</td><td>Label</td><td>Description</td></tr>
            </thead>
            <tbody>
              
                <tr>
                  <td>metadata</td>
                  <td><a href="#weave.Metadata">weave.Metadata</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>swap_id</td>
                  <td><a href="#bytes">bytes</a></td>
                  <td></td>
                  <td><p>swap_id to release </p></td>
                </tr>
              
                <tr>
                  <td>preimage</td>
                  <td><a href="#bytes">bytes</a></td>
                  <td></td>
                  <td><p>raw preimage to unlock swap, also helpful to retrieve the swap by it&#39;s hashed version
must be exactly 32 bytes long </p></td>
                </tr>
              
            </tbody>
          </table>
        

        
      
        <h3 id="aswap.ReturnMsg">ReturnMsg</h3>
        <p>ReturnMsg releases the tokens to the source.</p><p>This operation only works if the Swap is expired.</p>

        
          <table class="field-table">
            <thead>
              <tr><td>Field</td><td>Type</td><td>Label</td><td>Description</td></tr>
            </thead>
            <tbody>
              
                <tr>
                  <td>metadata</td>
                  <td><a href="#weave.Metadata">weave.Metadata</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>swap_id</td>
                  <td><a href="#bytes">bytes</a></td>
                  <td></td>
                  <td><p>swap_id to return </p></td>
                </tr>
              
            </tbody>
          </table>
        

        
      
        <h3 id="aswap.Swap">Swap</h3>
        <p>Swap is designed to hold some coins for atomic swap, locked by preimage_hash</p>

        
          <table class="field-table">
            <thead>
              <tr><td>Field</td><td>Type</td><td>Label</td><td>Description</td></tr>
            </thead>
            <tbody>
              
                <tr>
                  <td>metadata</td>
                  <td><a href="#weave.Metadata">weave.Metadata</a></td>
                  <td></td>
                  <td><p>metadata is used for schema versioning support </p></td>
                </tr>
              
                <tr>
                  <td>preimage_hash</td>
                  <td><a href="#bytes">bytes</a></td>
                  <td></td>
                  <td><p>sha256 hash of preimage, 32 bytes long </p></td>
                </tr>
              
                <tr>
                  <td>source</td>
                  <td><a href="#bytes">bytes</a></td>
                  <td></td>
                  <td><p>source is a sender address </p></td>
                </tr>
              
                <tr>
                  <td>destination</td>
                  <td><a href="#bytes">bytes</a></td>
                  <td></td>
                  <td><p>destination is an address of destination </p></td>
                </tr>
              
                <tr>
                  <td>timeout</td>
                  <td><a href="#int64">int64</a></td>
                  <td></td>
                  <td><p>If unreleased before timeout, swap will return coins to source.
Timeout represents wall clock time as read from the block header. Timeout
is represented using POSIX time format.
Expiration time is inclusive meaning that the swap expires as soon as
the current time is equal or greater than timeout value.
nonexpired: [created, timeout)
expired: [timeout, infinity) </p></td>
                </tr>
              
                <tr>
                  <td>memo</td>
                  <td><a href="#string">string</a></td>
                  <td></td>
                  <td><p>max length 128 characters </p></td>
                </tr>
              
                <tr>
                  <td>address</td>
                  <td><a href="#bytes">bytes</a></td>
                  <td></td>
                  <td><p>Address of this entity. Set during creation and does not change. </p></td>
                </tr>
              
            </tbody>
          </table>
        

        
      

      

      

      
    
      
      <div class="file-heading">
        <h2 id="x/batch/codec.proto">x/batch/codec.proto</h2><a href="#title">Top</a>
      </div>
      <p></p>

      
        <h3 id="batch.ByteArrayList">ByteArrayList</h3>
        <p></p>

        
          <table class="field-table">
            <thead>
              <tr><td>Field</td><td>Type</td><td>Label</td><td>Description</td></tr>
            </thead>
            <tbody>
              
                <tr>
                  <td>elements</td>
                  <td><a href="#bytes">bytes</a></td>
                  <td>repeated</td>
                  <td><p> </p></td>
                </tr>
              
            </tbody>
          </table>
        

        
      

      

      

      
    
      
      <div class="file-heading">
        <h2 id="x/cash/codec.proto">x/cash/codec.proto</h2><a href="#title">Top</a>
      </div>
      <p></p>

      
        <h3 id="cash.Configuration">Configuration</h3>
        <p></p>

        
          <table class="field-table">
            <thead>
              <tr><td>Field</td><td>Type</td><td>Label</td><td>Description</td></tr>
            </thead>
            <tbody>
              
                <tr>
                  <td>metadata</td>
                  <td><a href="#weave.Metadata">weave.Metadata</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>owner</td>
                  <td><a href="#bytes">bytes</a></td>
                  <td></td>
                  <td><p>Owner is present to implement gconf.OwnedConfig interface
This defines the Address that is allowed to update the Configuration object and is
needed to make use of gconf.NewUpdateConfigurationHandler </p></td>
                </tr>
              
                <tr>
                  <td>collector_address</td>
                  <td><a href="#bytes">bytes</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>minimal_fee</td>
                  <td><a href="#coin.Coin">coin.Coin</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
            </tbody>
          </table>
        

        
      
        <h3 id="cash.FeeInfo">FeeInfo</h3>
        <p>FeeInfo records who pays what fees to have this</p><p>message processed</p>

        
          <table class="field-table">
            <thead>
              <tr><td>Field</td><td>Type</td><td>Label</td><td>Description</td></tr>
            </thead>
            <tbody>
              
                <tr>
                  <td>payer</td>
                  <td><a href="#bytes">bytes</a></td>
                  <td></td>
                  <td><p>Payer represents an address that will pay the fee. A fee fund will be
withdrawn from that account in order to process a transaction.
Warning: This field is optional and when not set it will default to any
signer. It is recommended to always explicitely set the value of this
field, as the signer order is not guaranteed. </p></td>
                </tr>
              
                <tr>
                  <td>fees</td>
                  <td><a href="#coin.Coin">coin.Coin</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
            </tbody>
          </table>
        

        
      
        <h3 id="cash.SendMsg">SendMsg</h3>
        <p>SendMsg is a request to move these coins from the given</p><p>source to the given destination address.</p><p>memo is an optional human-readable message</p><p>ref is optional binary data, that can refer to another</p><p>eg. tx hash</p>

        
          <table class="field-table">
            <thead>
              <tr><td>Field</td><td>Type</td><td>Label</td><td>Description</td></tr>
            </thead>
            <tbody>
              
                <tr>
                  <td>metadata</td>
                  <td><a href="#weave.Metadata">weave.Metadata</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>source</td>
                  <td><a href="#bytes">bytes</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>destination</td>
                  <td><a href="#bytes">bytes</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>amount</td>
                  <td><a href="#coin.Coin">coin.Coin</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>memo</td>
                  <td><a href="#string">string</a></td>
                  <td></td>
                  <td><p>max length 128 character </p></td>
                </tr>
              
                <tr>
                  <td>ref</td>
                  <td><a href="#bytes">bytes</a></td>
                  <td></td>
                  <td><p>max length 64 bytes </p></td>
                </tr>
              
            </tbody>
          </table>
        

        
      
        <h3 id="cash.Set">Set</h3>
        <p>Set may contain Coin of many different currencies.</p><p>It handles adding and subtracting sets of currencies.</p>

        
          <table class="field-table">
            <thead>
              <tr><td>Field</td><td>Type</td><td>Label</td><td>Description</td></tr>
            </thead>
            <tbody>
              
                <tr>
                  <td>metadata</td>
                  <td><a href="#weave.Metadata">weave.Metadata</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>coins</td>
                  <td><a href="#coin.Coin">coin.Coin</a></td>
                  <td>repeated</td>
                  <td><p> </p></td>
                </tr>
              
            </tbody>
          </table>
        

        
      
        <h3 id="cash.UpdateConfigurationMsg">UpdateConfigurationMsg</h3>
        <p></p>

        
          <table class="field-table">
            <thead>
              <tr><td>Field</td><td>Type</td><td>Label</td><td>Description</td></tr>
            </thead>
            <tbody>
              
                <tr>
                  <td>metadata</td>
                  <td><a href="#weave.Metadata">weave.Metadata</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>patch</td>
                  <td><a href="#cash.Configuration">Configuration</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
            </tbody>
          </table>
        

        
      

      

      

      
    
      
      <div class="file-heading">
        <h2 id="x/cron/codec.proto">x/cron/codec.proto</h2><a href="#title">Top</a>
      </div>
      <p></p>

      
        <h3 id="cron.TaskResult">TaskResult</h3>
        <p>TaskResult is a publicly available information about task execution result.</p><p>It is only created for those tasks that were executed.</p><p>Due to a bug in tendermint we must store this information ourselves instead</p><p>of relying on the usual search via tag.</p><p>https://github.com/tendermint/tendermint/issues/3665</p>

        
          <table class="field-table">
            <thead>
              <tr><td>Field</td><td>Type</td><td>Label</td><td>Description</td></tr>
            </thead>
            <tbody>
              
                <tr>
                  <td>metadata</td>
                  <td><a href="#weave.Metadata">weave.Metadata</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>successful</td>
                  <td><a href="#bool">bool</a></td>
                  <td></td>
                  <td><p>Successful is set to true if the task was successfully executed. </p></td>
                </tr>
              
                <tr>
                  <td>info</td>
                  <td><a href="#string">string</a></td>
                  <td></td>
                  <td><p>Info contains any additinal information that might be useful to lean more
about the task execution. </p></td>
                </tr>
              
                <tr>
                  <td>exec_time</td>
                  <td><a href="#int64">int64</a></td>
                  <td></td>
                  <td><p>Exec time hold the information of when the task was executed. </p></td>
                </tr>
              
                <tr>
                  <td>exec_height</td>
                  <td><a href="#int64">int64</a></td>
                  <td></td>
                  <td><p>Exec height holds the block height value at the time the task was executed. </p></td>
                </tr>
              
            </tbody>
          </table>
        

        
      

      

      

      
    
      
      <div class="file-heading">
        <h2 id="x/currency/codec.proto">x/currency/codec.proto</h2><a href="#title">Top</a>
      </div>
      <p></p>

      
        <h3 id="currency.CreateMsg">CreateMsg</h3>
        <p>CreateMsg will register a new currency. Ticker (currency symbol) can</p><p>be registered only once.</p>

        
          <table class="field-table">
            <thead>
              <tr><td>Field</td><td>Type</td><td>Label</td><td>Description</td></tr>
            </thead>
            <tbody>
              
                <tr>
                  <td>metadata</td>
                  <td><a href="#weave.Metadata">weave.Metadata</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>ticker</td>
                  <td><a href="#string">string</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>name</td>
                  <td><a href="#string">string</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
            </tbody>
          </table>
        

        
      
        <h3 id="currency.TokenInfo">TokenInfo</h3>
        <p>TokenInfo contains information about a single currency. It is used as an</p><p>alternative solution to hardcoding supported currencies information.</p>

        
          <table class="field-table">
            <thead>
              <tr><td>Field</td><td>Type</td><td>Label</td><td>Description</td></tr>
            </thead>
            <tbody>
              
                <tr>
                  <td>metadata</td>
                  <td><a href="#weave.Metadata">weave.Metadata</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>name</td>
                  <td><a href="#string">string</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
            </tbody>
          </table>
        

        
      

      

      

      
    
      
      <div class="file-heading">
        <h2 id="x/distribution/codec.proto">x/distribution/codec.proto</h2><a href="#title">Top</a>
      </div>
      <p></p>

      
        <h3 id="distribution.CreateMsg">CreateMsg</h3>
        <p>CreateMsg is issuing the creation of a new revenue stream instance.</p>

        
          <table class="field-table">
            <thead>
              <tr><td>Field</td><td>Type</td><td>Label</td><td>Description</td></tr>
            </thead>
            <tbody>
              
                <tr>
                  <td>metadata</td>
                  <td><a href="#weave.Metadata">weave.Metadata</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>admin</td>
                  <td><a href="#bytes">bytes</a></td>
                  <td></td>
                  <td><p>Admin key belongs to the governance entities. It can be used to transfer
stored amount to an another account.
While not enforced it is best to use a multisig contract here. </p></td>
                </tr>
              
                <tr>
                  <td>destinations</td>
                  <td><a href="#distribution.Destination">Destination</a></td>
                  <td>repeated</td>
                  <td><p>Destinations holds any number of addresses that the collected revenue is
distributed to. Must be at least one. </p></td>
                </tr>
              
            </tbody>
          </table>
        

        
      
        <h3 id="distribution.Destination">Destination</h3>
        <p></p>

        
          <table class="field-table">
            <thead>
              <tr><td>Field</td><td>Type</td><td>Label</td><td>Description</td></tr>
            </thead>
            <tbody>
              
                <tr>
                  <td>address</td>
                  <td><a href="#bytes">bytes</a></td>
                  <td></td>
                  <td><p>An address that the funds should be transferred to.
This should not be the validator addresses, as the keys used to sign
blocks should never be in a wallet. This can be the wallets of the admins
of the validators. </p></td>
                </tr>
              
                <tr>
                  <td>weight</td>
                  <td><a href="#int32">int32</a></td>
                  <td></td>
                  <td><p>Weight defines what part of the total revenue goes to this destination.
Each destination receives part of the total revenue amount proportional to
the weight. For example, if there are two destinations with weights 1 and 2
accordingly, distribution will be 1/3 to the first address and 2/3 to the
second one. </p></td>
                </tr>
              
            </tbody>
          </table>
        

        
      
        <h3 id="distribution.DistributeMsg">DistributeMsg</h3>
        <p>DistributeMsg is a request to distribute all funds collected within a single</p><p>revenue instance. Revenue is distributed between destinations. Request must be</p><p>signed using admin key.</p>

        
          <table class="field-table">
            <thead>
              <tr><td>Field</td><td>Type</td><td>Label</td><td>Description</td></tr>
            </thead>
            <tbody>
              
                <tr>
                  <td>metadata</td>
                  <td><a href="#weave.Metadata">weave.Metadata</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>revenue_id</td>
                  <td><a href="#bytes">bytes</a></td>
                  <td></td>
                  <td><p>Revenue ID reference an ID of a revenue instance that the collected fees
should be distributed between destinations. </p></td>
                </tr>
              
            </tbody>
          </table>
        

        
      
        <h3 id="distribution.ResetMsg">ResetMsg</h3>
        <p>ResetMsg change the configuration of a revenue instance.</p><p>To assure destinations that they will receive money, every revenue update is</p><p>forcing funds distribution. Before applying any change all funds stored by</p><p>the revenue account are distributed using old configuration. Only when the</p><p>collected revenue amount is equal to zero the change is applied.</p>

        
          <table class="field-table">
            <thead>
              <tr><td>Field</td><td>Type</td><td>Label</td><td>Description</td></tr>
            </thead>
            <tbody>
              
                <tr>
                  <td>metadata</td>
                  <td><a href="#weave.Metadata">weave.Metadata</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>revenue_id</td>
                  <td><a href="#bytes">bytes</a></td>
                  <td></td>
                  <td><p>Revenue ID reference an ID of a revenue instance that is updated. </p></td>
                </tr>
              
                <tr>
                  <td>destinations</td>
                  <td><a href="#distribution.Destination">Destination</a></td>
                  <td>repeated</td>
                  <td><p>Destinations holds any number of addresses that the collected revenue is
distributed to. Must be at least one. </p></td>
                </tr>
              
            </tbody>
          </table>
        

        
      
        <h3 id="distribution.Revenue">Revenue</h3>
        <p>Revenue represents an account with funds collected from the fees. This is a</p><p>temporary account used for storing fees that are later distributed between</p><p>the owners.</p>

        
          <table class="field-table">
            <thead>
              <tr><td>Field</td><td>Type</td><td>Label</td><td>Description</td></tr>
            </thead>
            <tbody>
              
                <tr>
                  <td>metadata</td>
                  <td><a href="#weave.Metadata">weave.Metadata</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>admin</td>
                  <td><a href="#bytes">bytes</a></td>
                  <td></td>
                  <td><p>Admin key belongs to the governance entities. It can be used to transfer
stored amount to an another account.
While not enforced it is best to use a multisig contract here. </p></td>
                </tr>
              
                <tr>
                  <td>destinations</td>
                  <td><a href="#distribution.Destination">Destination</a></td>
                  <td>repeated</td>
                  <td><p>Destinations holds any number of addresses that the collected revenue is
distributed to. Must be at least one. </p></td>
                </tr>
              
                <tr>
                  <td>address</td>
                  <td><a href="#bytes">bytes</a></td>
                  <td></td>
                  <td><p>Address of this entity. Set during creation and does not change. </p></td>
                </tr>
              
            </tbody>
          </table>
        

        
      

      

      

      
    
      
      <div class="file-heading">
        <h2 id="x/escrow/codec.proto">x/escrow/codec.proto</h2><a href="#title">Top</a>
      </div>
      <p></p>

      
        <h3 id="escrow.CreateMsg">CreateMsg</h3>
        <p>CreateMsg is a request to create an Escrow with some tokens.</p><p>Message must be authorized by the source.</p>

        
          <table class="field-table">
            <thead>
              <tr><td>Field</td><td>Type</td><td>Label</td><td>Description</td></tr>
            </thead>
            <tbody>
              
                <tr>
                  <td>metadata</td>
                  <td><a href="#weave.Metadata">weave.Metadata</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>source</td>
                  <td><a href="#bytes">bytes</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>arbiter</td>
                  <td><a href="#bytes">bytes</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>destination</td>
                  <td><a href="#bytes">bytes</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>amount</td>
                  <td><a href="#coin.Coin">coin.Coin</a></td>
                  <td>repeated</td>
                  <td><p>amount may contain multiple token types </p></td>
                </tr>
              
                <tr>
                  <td>timeout</td>
                  <td><a href="#int64">int64</a></td>
                  <td></td>
                  <td><p>Timeout represents wall clock time. </p></td>
                </tr>
              
                <tr>
                  <td>memo</td>
                  <td><a href="#string">string</a></td>
                  <td></td>
                  <td><p>max length 128 character </p></td>
                </tr>
              
            </tbody>
          </table>
        

        
      
        <h3 id="escrow.Escrow">Escrow</h3>
        <p>Escrow holds some coins.</p><p>The arbiter or source can release them to the destination.</p><p>The destination can return them to the source.</p><p>Upon timeout, they will be returned to the source.</p>

        
          <table class="field-table">
            <thead>
              <tr><td>Field</td><td>Type</td><td>Label</td><td>Description</td></tr>
            </thead>
            <tbody>
              
                <tr>
                  <td>metadata</td>
                  <td><a href="#weave.Metadata">weave.Metadata</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>source</td>
                  <td><a href="#bytes">bytes</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>arbiter</td>
                  <td><a href="#bytes">bytes</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>destination</td>
                  <td><a href="#bytes">bytes</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>timeout</td>
                  <td><a href="#int64">int64</a></td>
                  <td></td>
                  <td><p>If unreleased before timeout, escrow will return to source.
Timeout represents wall clock time as read from the block header. Timeout
is represented using POSIX time format.
Expiration time is inclusive meaning that the escrow expires as soon as
the current time is equal or greater than timeout value.
nonexpired: [created, timeout)
expired: [timeout, infinity) </p></td>
                </tr>
              
                <tr>
                  <td>memo</td>
                  <td><a href="#string">string</a></td>
                  <td></td>
                  <td><p>max length 128 character </p></td>
                </tr>
              
                <tr>
                  <td>address</td>
                  <td><a href="#bytes">bytes</a></td>
                  <td></td>
                  <td><p>Address of this entity. Set during creation and does not change. </p></td>
                </tr>
              
            </tbody>
          </table>
        

        
      
        <h3 id="escrow.ReleaseMsg">ReleaseMsg</h3>
        <p>ReleaseMsg releases the content to the destination.</p><p>Message must be authorized by the source or arbiter.</p><p>If amount not provided, defaults to entire escrow, May be a subset of the</p><p>current balance.</p>

        
          <table class="field-table">
            <thead>
              <tr><td>Field</td><td>Type</td><td>Label</td><td>Description</td></tr>
            </thead>
            <tbody>
              
                <tr>
                  <td>metadata</td>
                  <td><a href="#weave.Metadata">weave.Metadata</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>escrow_id</td>
                  <td><a href="#bytes">bytes</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>amount</td>
                  <td><a href="#coin.Coin">coin.Coin</a></td>
                  <td>repeated</td>
                  <td><p> </p></td>
                </tr>
              
            </tbody>
          </table>
        

        
      
        <h3 id="escrow.ReturnMsg">ReturnMsg</h3>
        <p>ReturnMsg returns the content to the source.</p><p>Must be authorized by the source or an expired timeout</p>

        
          <table class="field-table">
            <thead>
              <tr><td>Field</td><td>Type</td><td>Label</td><td>Description</td></tr>
            </thead>
            <tbody>
              
                <tr>
                  <td>metadata</td>
                  <td><a href="#weave.Metadata">weave.Metadata</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>escrow_id</td>
                  <td><a href="#bytes">bytes</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
            </tbody>
          </table>
        

        
      
        <h3 id="escrow.UpdatePartiesMsg">UpdatePartiesMsg</h3>
        <p>UpdatePartiesMsg changes any of the parties of the escrow:</p><p>source, arbiter, destination. This must be authorized by the current</p><p>holder of that position (eg. only source can update source).</p><p>Represents delegating responsibility</p>

        
          <table class="field-table">
            <thead>
              <tr><td>Field</td><td>Type</td><td>Label</td><td>Description</td></tr>
            </thead>
            <tbody>
              
                <tr>
                  <td>metadata</td>
                  <td><a href="#weave.Metadata">weave.Metadata</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>escrow_id</td>
                  <td><a href="#bytes">bytes</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>source</td>
                  <td><a href="#bytes">bytes</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>arbiter</td>
                  <td><a href="#bytes">bytes</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>destination</td>
                  <td><a href="#bytes">bytes</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
            </tbody>
          </table>
        

        
      

      

      

      
    
      
      <div class="file-heading">
        <h2 id="x/gov/codec.proto">x/gov/codec.proto</h2><a href="#title">Top</a>
      </div>
      <p></p>

      
        <h3 id="gov.CreateProposalMsg">CreateProposalMsg</h3>
        <p>CreateProposalMsg creates a new governance proposal.</p><p>Most fields control the whole election process.</p><p>raw_option contains an transaction to be executed by the governance vote in case of success</p><p>(what is being voted on)</p>

        
          <table class="field-table">
            <thead>
              <tr><td>Field</td><td>Type</td><td>Label</td><td>Description</td></tr>
            </thead>
            <tbody>
              
                <tr>
                  <td>metadata</td>
                  <td><a href="#weave.Metadata">weave.Metadata</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>title</td>
                  <td><a href="#string">string</a></td>
                  <td></td>
                  <td><p>Human readable title. Must match `^[a-zA-Z0-9 _.-]{4,128}$` </p></td>
                </tr>
              
                <tr>
                  <td>raw_option</td>
                  <td><a href="#bytes">bytes</a></td>
                  <td></td>
                  <td><p>Content of the proposal. Protobuf encoded, app-specific decoded must be passed in handler constructor </p></td>
                </tr>
              
                <tr>
                  <td>description</td>
                  <td><a href="#string">string</a></td>
                  <td></td>
                  <td><p>Human readable description with 3 to 5000 chars. </p></td>
                </tr>
              
                <tr>
                  <td>election_rule_id</td>
                  <td><a href="#bytes">bytes</a></td>
                  <td></td>
                  <td><p>ElectionRuleID is a reference to the election rule </p></td>
                </tr>
              
                <tr>
                  <td>start_time</td>
                  <td><a href="#int64">int64</a></td>
                  <td></td>
                  <td><p>Unix timestamp when the proposal starts. Must be in the future. </p></td>
                </tr>
              
                <tr>
                  <td>author</td>
                  <td><a href="#bytes">bytes</a></td>
                  <td></td>
                  <td><p>Author is an optional field to set the address of the author with a proposal. The author must sign the message.
The author of the created proposal.
Warning: This field is optional and when not set it will default to any
signer. It is recommended to always explicitely set the value of this
field, as the signer order is not guaranteed. </p></td>
                </tr>
              
            </tbody>
          </table>
        

        
      
        <h3 id="gov.CreateTextResolutionMsg">CreateTextResolutionMsg</h3>
        <p>TextResolutionMsg is only intended to be dispatched internally from election</p><p>results. It adds a resolution to the list of "approved" resolutions,</p><p>with a reference to the electorate that approved it</p>

        
          <table class="field-table">
            <thead>
              <tr><td>Field</td><td>Type</td><td>Label</td><td>Description</td></tr>
            </thead>
            <tbody>
              
                <tr>
                  <td>metadata</td>
                  <td><a href="#weave.Metadata">weave.Metadata</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>resolution</td>
                  <td><a href="#string">string</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
            </tbody>
          </table>
        

        
      
        <h3 id="gov.DeleteProposalMsg">DeleteProposalMsg</h3>
        <p>DeleteProposalMsg deletes a governance proposal.</p>

        
          <table class="field-table">
            <thead>
              <tr><td>Field</td><td>Type</td><td>Label</td><td>Description</td></tr>
            </thead>
            <tbody>
              
                <tr>
                  <td>metadata</td>
                  <td><a href="#weave.Metadata">weave.Metadata</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>proposal_id</td>
                  <td><a href="#bytes">bytes</a></td>
                  <td></td>
                  <td><p>ProposalID is the unique identifier of the proposal to delete </p></td>
                </tr>
              
            </tbody>
          </table>
        

        
      
        <h3 id="gov.ElectionRule">ElectionRule</h3>
        <p>Election Rule defines how an election is run. A proposal must be voted upon via a pre-defined ruleset.</p>

        
          <table class="field-table">
            <thead>
              <tr><td>Field</td><td>Type</td><td>Label</td><td>Description</td></tr>
            </thead>
            <tbody>
              
                <tr>
                  <td>metadata</td>
                  <td><a href="#weave.Metadata">weave.Metadata</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>version</td>
                  <td><a href="#uint32">uint32</a></td>
                  <td></td>
                  <td><p>Document version. </p></td>
                </tr>
              
                <tr>
                  <td>admin</td>
                  <td><a href="#bytes">bytes</a></td>
                  <td></td>
                  <td><p>Admin is the address that is allowed to modify an existing election rule. </p></td>
                </tr>
              
                <tr>
                  <td>electorate_id</td>
                  <td><a href="#bytes">bytes</a></td>
                  <td></td>
                  <td><p>ElectorateID references the electorate using this rule (without version, as changing electorate changes the rule). </p></td>
                </tr>
              
                <tr>
                  <td>title</td>
                  <td><a href="#string">string</a></td>
                  <td></td>
                  <td><p>Human readable title. </p></td>
                </tr>
              
                <tr>
                  <td>voting_period</td>
                  <td><a href="#uint32">uint32</a></td>
                  <td></td>
                  <td><p>Duration in seconds of how long the voting period will take place. </p></td>
                </tr>
              
                <tr>
                  <td>threshold</td>
                  <td><a href="#gov.Fraction">Fraction</a></td>
                  <td></td>
                  <td><p>Threshold is the fraction of either all eligible voters or in case of a quorum setup the fraction of all non
abstained votes.
To accept a proposal this value must be exceeded with Yes votes.
The formula applied is:
(yes * denominator) &gt; (base * numerator) with base total electorate weight or Yes/No votes in case of quorum set

The valid range for the threshold value is `0.5` to `1` (inclusive) which allows any value between half and all
of the eligible voters. </p></td>
                </tr>
              
                <tr>
                  <td>quorum</td>
                  <td><a href="#gov.Fraction">Fraction</a></td>
                  <td></td>
                  <td><p>The quorum fraction of eligible voters is based on the total electorate weight and defines a threshold of
votes that must be exceeded before the acceptance threshold is applied.
This value requires any kind of votes and not only YES.

The valid range for the threshold value is `0.5` to `1` (inclusive) which allows any value between half and all
of the eligible voters. </p></td>
                </tr>
              
                <tr>
                  <td>address</td>
                  <td><a href="#bytes">bytes</a></td>
                  <td></td>
                  <td><p>Address of this entity. Set during creation and does not change. </p></td>
                </tr>
              
            </tbody>
          </table>
        

        
      
        <h3 id="gov.Elector">Elector</h3>
        <p>Elector clubs together a address with a weight. The greater the weight</p><p>the greater the power of a participant.</p>

        
          <table class="field-table">
            <thead>
              <tr><td>Field</td><td>Type</td><td>Label</td><td>Description</td></tr>
            </thead>
            <tbody>
              
                <tr>
                  <td>address</td>
                  <td><a href="#bytes">bytes</a></td>
                  <td></td>
                  <td><p>The address of the voter. </p></td>
                </tr>
              
                <tr>
                  <td>weight</td>
                  <td><a href="#uint32">uint32</a></td>
                  <td></td>
                  <td><p>Weight defines the power of the participants vote. max value is 65535 (2^16-1). </p></td>
                </tr>
              
            </tbody>
          </table>
        

        
      
        <h3 id="gov.Electorate">Electorate</h3>
        <p>Electorate defines who may vote in an election. This same group can be used in many elections</p><p>and is stored for re-use</p>

        
          <table class="field-table">
            <thead>
              <tr><td>Field</td><td>Type</td><td>Label</td><td>Description</td></tr>
            </thead>
            <tbody>
              
                <tr>
                  <td>metadata</td>
                  <td><a href="#weave.Metadata">weave.Metadata</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>version</td>
                  <td><a href="#uint32">uint32</a></td>
                  <td></td>
                  <td><p>Document version </p></td>
                </tr>
              
                <tr>
                  <td>admin</td>
                  <td><a href="#bytes">bytes</a></td>
                  <td></td>
                  <td><p>Admin is the address that is allowed ot modify an existing electorate. </p></td>
                </tr>
              
                <tr>
                  <td>title</td>
                  <td><a href="#string">string</a></td>
                  <td></td>
                  <td><p>Human readable title. </p></td>
                </tr>
              
                <tr>
                  <td>electors</td>
                  <td><a href="#gov.Elector">Elector</a></td>
                  <td>repeated</td>
                  <td><p>Elector defines a list of all signatures that are allowed to participate in a vote </p></td>
                </tr>
              
                <tr>
                  <td>total_electorate_weight</td>
                  <td><a href="#uint64">uint64</a></td>
                  <td></td>
                  <td><p>TotalElectorateWeight is the sum of all electors weights. </p></td>
                </tr>
              
            </tbody>
          </table>
        

        
      
        <h3 id="gov.Fraction">Fraction</h3>
        <p>The Fraction type represents a numerator and denominator to enable higher precision thresholds in</p><p>the election rules. For example:</p><p>numerator: 1, denominator: 2 => > 50%</p><p>numerator: 2, denominator: 3 => > 66.666..%</p><p>numerator: 6273, denominator: 10000 => > 62.73%</p><p>Valid range of the fraction is 0.5 to 1.</p>

        
          <table class="field-table">
            <thead>
              <tr><td>Field</td><td>Type</td><td>Label</td><td>Description</td></tr>
            </thead>
            <tbody>
              
                <tr>
                  <td>numerator</td>
                  <td><a href="#uint32">uint32</a></td>
                  <td></td>
                  <td><p>The top number in a fraction. </p></td>
                </tr>
              
                <tr>
                  <td>denominator</td>
                  <td><a href="#uint32">uint32</a></td>
                  <td></td>
                  <td><p>The bottom number </p></td>
                </tr>
              
            </tbody>
          </table>
        

        
      
        <h3 id="gov.Proposal">Proposal</h3>
        <p>A generic proposal for an on-chain governance process.</p><p>Most fields control the whole election process.</p><p>raw_option contains an transaction to be executed by the governance vote in case of success</p><p>(what is being voted on)</p>

        
          <table class="field-table">
            <thead>
              <tr><td>Field</td><td>Type</td><td>Label</td><td>Description</td></tr>
            </thead>
            <tbody>
              
                <tr>
                  <td>metadata</td>
                  <td><a href="#weave.Metadata">weave.Metadata</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>title</td>
                  <td><a href="#string">string</a></td>
                  <td></td>
                  <td><p>Human readable title. </p></td>
                </tr>
              
                <tr>
                  <td>raw_option</td>
                  <td><a href="#bytes">bytes</a></td>
                  <td></td>
                  <td><p>Content of the proposal. Protobuf encoded, app-specific decoded must be passed in constructor </p></td>
                </tr>
              
                <tr>
                  <td>description</td>
                  <td><a href="#string">string</a></td>
                  <td></td>
                  <td><p>Description of the proposal in text form. </p></td>
                </tr>
              
                <tr>
                  <td>election_rule_ref</td>
                  <td><a href="#orm.VersionedIDRef">orm.VersionedIDRef</a></td>
                  <td></td>
                  <td><p>ElectionRuleRef is a reference to the election rule </p></td>
                </tr>
              
                <tr>
                  <td>electorate_ref</td>
                  <td><a href="#orm.VersionedIDRef">orm.VersionedIDRef</a></td>
                  <td></td>
                  <td><p>Reference to the electorate to define the group of possible voters. </p></td>
                </tr>
              
                <tr>
                  <td>voting_start_time</td>
                  <td><a href="#int64">int64</a></td>
                  <td></td>
                  <td><p>Unix timestamp of the block where the voting period starts. Header time of the votes must be greater than or equal
to this start time. </p></td>
                </tr>
              
                <tr>
                  <td>voting_end_time</td>
                  <td><a href="#int64">int64</a></td>
                  <td></td>
                  <td><p>Unix timestamp of the block where the voting period ends. Header times of the votes must be before this end time
to be included in the election. </p></td>
                </tr>
              
                <tr>
                  <td>submission_time</td>
                  <td><a href="#int64">int64</a></td>
                  <td></td>
                  <td><p>Unix timestamp of the block where the proposal was added to the chain. </p></td>
                </tr>
              
                <tr>
                  <td>author</td>
                  <td><a href="#bytes">bytes</a></td>
                  <td></td>
                  <td><p>Address of the author who created the proposal. If not set explicit on creation it will default to the main signer. </p></td>
                </tr>
              
                <tr>
                  <td>vote_state</td>
                  <td><a href="#gov.TallyResult">TallyResult</a></td>
                  <td></td>
                  <td><p>Result of the election. Contains intermediate tally results while voting period is open. </p></td>
                </tr>
              
                <tr>
                  <td>status</td>
                  <td><a href="#gov.Proposal.Status">Proposal.Status</a></td>
                  <td></td>
                  <td><p>Status represents the high level position in the life cycle of the proposal. Initial value is Submitted. </p></td>
                </tr>
              
                <tr>
                  <td>result</td>
                  <td><a href="#gov.Proposal.Result">Proposal.Result</a></td>
                  <td></td>
                  <td><p>Result is the final result based on the votes and election rule. Initial value is Undefined. </p></td>
                </tr>
              
                <tr>
                  <td>executor_result</td>
                  <td><a href="#gov.Proposal.ExecutorResult">Proposal.ExecutorResult</a></td>
                  <td></td>
                  <td><p>Result is the final result based on the votes and election rule. Initial value is NotRun. </p></td>
                </tr>
              
                <tr>
                  <td>tally_task_id</td>
                  <td><a href="#bytes">bytes</a></td>
                  <td></td>
                  <td><p>Tally task ID holds the ID of the asynchronous task that is scheduled to
create the tally once the voting period is over. </p></td>
                </tr>
              
            </tbody>
          </table>
        

        
      
        <h3 id="gov.Resolution">Resolution</h3>
        <p>Resolution contains TextResolution and an electorate reference.</p>

        
          <table class="field-table">
            <thead>
              <tr><td>Field</td><td>Type</td><td>Label</td><td>Description</td></tr>
            </thead>
            <tbody>
              
                <tr>
                  <td>metadata</td>
                  <td><a href="#weave.Metadata">weave.Metadata</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>proposal_id</td>
                  <td><a href="#bytes">bytes</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>electorate_ref</td>
                  <td><a href="#orm.VersionedIDRef">orm.VersionedIDRef</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>resolution</td>
                  <td><a href="#string">string</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
            </tbody>
          </table>
        

        
      
        <h3 id="gov.TallyMsg">TallyMsg</h3>
        <p>TallyMsg can be sent after the voting period has ended to do the final tally and trigger any state changes.</p><p>A final tally can be execute only once. A second submission will fail with an invalid state error.</p>

        
          <table class="field-table">
            <thead>
              <tr><td>Field</td><td>Type</td><td>Label</td><td>Description</td></tr>
            </thead>
            <tbody>
              
                <tr>
                  <td>metadata</td>
                  <td><a href="#weave.Metadata">weave.Metadata</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>proposal_id</td>
                  <td><a href="#bytes">bytes</a></td>
                  <td></td>
                  <td><p>ProposalID is UUID of the proposal to close. </p></td>
                </tr>
              
            </tbody>
          </table>
        

        
      
        <h3 id="gov.TallyResult">TallyResult</h3>
        <p>TallyResult contains sums of the votes and all data for the final result.</p>

        
          <table class="field-table">
            <thead>
              <tr><td>Field</td><td>Type</td><td>Label</td><td>Description</td></tr>
            </thead>
            <tbody>
              
                <tr>
                  <td>total_yes</td>
                  <td><a href="#uint64">uint64</a></td>
                  <td></td>
                  <td><p>TotalYes is the sum of weights of all the voters that approved the proposal </p></td>
                </tr>
              
                <tr>
                  <td>total_no</td>
                  <td><a href="#uint64">uint64</a></td>
                  <td></td>
                  <td><p>TotalNo is the sum of weights of all the voters that rejected the proposal </p></td>
                </tr>
              
                <tr>
                  <td>total_abstain</td>
                  <td><a href="#uint64">uint64</a></td>
                  <td></td>
                  <td><p>TotalAbstain is the sum of weights of all the voters that voted abstain </p></td>
                </tr>
              
                <tr>
                  <td>total_electorate_weight</td>
                  <td><a href="#uint64">uint64</a></td>
                  <td></td>
                  <td><p>TotalElectorateWeight is the sum of all weights in the electorate. </p></td>
                </tr>
              
                <tr>
                  <td>quorum</td>
                  <td><a href="#gov.Fraction">Fraction</a></td>
                  <td></td>
                  <td><p>Quorum when set is the fraction of the total electorate weight that must be exceeded by total votes weight. </p></td>
                </tr>
              
                <tr>
                  <td>threshold</td>
                  <td><a href="#gov.Fraction">Fraction</a></td>
                  <td></td>
                  <td><p>Threshold is the fraction of Yes votes of a base value that needs to be exceeded to accept the proposal.
The base value is either the total electorate weight or the sum of Yes/No weights when a quorum is defined. </p></td>
                </tr>
              
            </tbody>
          </table>
        

        
      
        <h3 id="gov.UpdateElectionRuleMsg">UpdateElectionRuleMsg</h3>
        <p></p>

        
          <table class="field-table">
            <thead>
              <tr><td>Field</td><td>Type</td><td>Label</td><td>Description</td></tr>
            </thead>
            <tbody>
              
                <tr>
                  <td>metadata</td>
                  <td><a href="#weave.Metadata">weave.Metadata</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>election_rule_id</td>
                  <td><a href="#bytes">bytes</a></td>
                  <td></td>
                  <td><p>ElectionRuleID is a reference to the election rule </p></td>
                </tr>
              
                <tr>
                  <td>voting_period</td>
                  <td><a href="#uint32">uint32</a></td>
                  <td></td>
                  <td><p>Duration in seconds of how long the voting period will take place. </p></td>
                </tr>
              
                <tr>
                  <td>threshold</td>
                  <td><a href="#gov.Fraction">Fraction</a></td>
                  <td></td>
                  <td><p>Threshold is the fraction of all eligible voters, not only the ones who voted. To accept a
proposal this value must be exceeded.
The formula is `(yes*denominator) &gt; (numerator*total_electors_weight)`.
The valid range for the threshold value is `0.5` to `1` (inclusive) which allows any value between half and all
of the eligible voters. </p></td>
                </tr>
              
                <tr>
                  <td>quorum</td>
                  <td><a href="#gov.Fraction">Fraction</a></td>
                  <td></td>
                  <td><p>The quorum fraction of eligible voters is based on the total electorate
weight and defines a threshold of votes that must be exceeded before the
acceptance threshold is applied. This value requires any kind of votes
and not only YES.

The valid range for the threshold value is `0.5` to `1` (inclusive) which
allows any value between half and all of the eligible voters. </p></td>
                </tr>
              
            </tbody>
          </table>
        

        
      
        <h3 id="gov.UpdateElectorateMsg">UpdateElectorateMsg</h3>
        <p></p>

        
          <table class="field-table">
            <thead>
              <tr><td>Field</td><td>Type</td><td>Label</td><td>Description</td></tr>
            </thead>
            <tbody>
              
                <tr>
                  <td>metadata</td>
                  <td><a href="#weave.Metadata">weave.Metadata</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>electorate_id</td>
                  <td><a href="#bytes">bytes</a></td>
                  <td></td>
                  <td><p>ElectorateID is the reference to the electorate that defines the group of possible voters. </p></td>
                </tr>
              
                <tr>
                  <td>diff_electors</td>
                  <td><a href="#gov.Elector">Elector</a></td>
                  <td>repeated</td>
                  <td><p>DiffElectors contains the changes that should be applied. Adding an address should have a positive weight, removing
with weight=0. </p></td>
                </tr>
              
            </tbody>
          </table>
        

        
      
        <h3 id="gov.Vote">Vote</h3>
        <p>Vote combines the elector and their voted option to archive them.</p><p>The proposalID and address is stored within the key.</p>

        
          <table class="field-table">
            <thead>
              <tr><td>Field</td><td>Type</td><td>Label</td><td>Description</td></tr>
            </thead>
            <tbody>
              
                <tr>
                  <td>metadata</td>
                  <td><a href="#weave.Metadata">weave.Metadata</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>elector</td>
                  <td><a href="#gov.Elector">Elector</a></td>
                  <td></td>
                  <td><p>Elector is who voted </p></td>
                </tr>
              
                <tr>
                  <td>voted</td>
                  <td><a href="#gov.VoteOption">VoteOption</a></td>
                  <td></td>
                  <td><p>VoteOption is what they voted </p></td>
                </tr>
              
            </tbody>
          </table>
        

        
      
        <h3 id="gov.VoteMsg">VoteMsg</h3>
        <p>VoteMsg is the way to express a voice and participate in an election of a proposal on chain.</p>

        
          <table class="field-table">
            <thead>
              <tr><td>Field</td><td>Type</td><td>Label</td><td>Description</td></tr>
            </thead>
            <tbody>
              
                <tr>
                  <td>metadata</td>
                  <td><a href="#weave.Metadata">weave.Metadata</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>proposal_id</td>
                  <td><a href="#bytes">bytes</a></td>
                  <td></td>
                  <td><p>The unique id of the proposal. </p></td>
                </tr>
              
                <tr>
                  <td>voter</td>
                  <td><a href="#bytes">bytes</a></td>
                  <td></td>
                  <td><p>The address of the voter. The voter address must be part of the electorate
in order to be allowed to vote.
Warning: This field is optional and when not set it will default to any
signer. It is recommended to always explicitely set the value of this
field, as the signer order is not guaranteed. </p></td>
                </tr>
              
                <tr>
                  <td>selected</td>
                  <td><a href="#gov.VoteOption">VoteOption</a></td>
                  <td></td>
                  <td><p>Option for the vote. Must be Yes, No or Abstain for a valid vote. </p></td>
                </tr>
              
            </tbody>
          </table>
        

        
      

      
        <h3 id="gov.Proposal.ExecutorResult">Proposal.ExecutorResult</h3>
        <p></p>
        <table class="enum-table">
          <thead>
            <tr><td>Name</td><td>Number</td><td>Description</td></tr>
          </thead>
          <tbody>
            
              <tr>
                <td>PROPOSAL_EXECUTOR_RESULT_INVALID</td>
                <td>0</td>
                <td><p>An empty value is not allowed</p></td>
              </tr>
            
              <tr>
                <td>PROPOSAL_EXECUTOR_RESULT_NOT_RUN</td>
                <td>1</td>
                <td><p>We have not yet run the executor</p></td>
              </tr>
            
              <tr>
                <td>PROPOSAL_EXECUTOR_RESULT_SUCCESS</td>
                <td>2</td>
                <td><p>The executor was successful and proposed action updated state</p></td>
              </tr>
            
              <tr>
                <td>PROPOSAL_EXECUTOR_RESULT_FAILURE</td>
                <td>3</td>
                <td><p>The executor returned an error and proposed action didn&#39;t update state</p></td>
              </tr>
            
          </tbody>
        </table>
      
        <h3 id="gov.Proposal.Result">Proposal.Result</h3>
        <p></p>
        <table class="enum-table">
          <thead>
            <tr><td>Name</td><td>Number</td><td>Description</td></tr>
          </thead>
          <tbody>
            
              <tr>
                <td>PROPOSAL_RESULT_INVALID</td>
                <td>0</td>
                <td><p>An empty value is invalid and not allowed</p></td>
              </tr>
            
              <tr>
                <td>PROPOSAL_RESULT_UNDEFINED</td>
                <td>1</td>
                <td><p>Until a final tally has happened the status is undefined</p></td>
              </tr>
            
              <tr>
                <td>PROPOSAL_RESULT_ACCEPTED</td>
                <td>2</td>
                <td><p>Final result of the tally</p></td>
              </tr>
            
              <tr>
                <td>PROPOSAL_RESULT_REJECTED</td>
                <td>3</td>
                <td><p>Final result of the tally</p></td>
              </tr>
            
          </tbody>
        </table>
      
        <h3 id="gov.Proposal.Status">Proposal.Status</h3>
        <p></p>
        <table class="enum-table">
          <thead>
            <tr><td>Name</td><td>Number</td><td>Description</td></tr>
          </thead>
          <tbody>
            
              <tr>
                <td>PROPOSAL_STATUS_INVALID</td>
                <td>0</td>
                <td><p>An empty value is invalid and not allowed</p></td>
              </tr>
            
              <tr>
                <td>PROPOSAL_STATUS_SUBMITTED</td>
                <td>1</td>
                <td><p>Initial status of a proposal when persisted.</p></td>
              </tr>
            
              <tr>
                <td>PROPOSAL_STATUS_CLOSED</td>
                <td>2</td>
                <td><p>Final status of a proposal when the tally was executed</p></td>
              </tr>
            
              <tr>
                <td>PROPOSAL_STATUS_WITHDRAWN</td>
                <td>3</td>
                <td><p>A proposal can be deleted before the voting start time by the owner. When this happens the final status
is Withdrawn.</p></td>
              </tr>
            
          </tbody>
        </table>
      
        <h3 id="gov.VoteOption">VoteOption</h3>
        <p>VoteOptions define possible values for a vote including the INVALID default.</p>
        <table class="enum-table">
          <thead>
            <tr><td>Name</td><td>Number</td><td>Description</td></tr>
          </thead>
          <tbody>
            
              <tr>
                <td>VOTE_OPTION_INVALID</td>
                <td>0</td>
                <td><p></p></td>
              </tr>
            
              <tr>
                <td>VOTE_OPTION_YES</td>
                <td>1</td>
                <td><p></p></td>
              </tr>
            
              <tr>
                <td>VOTE_OPTION_NO</td>
                <td>2</td>
                <td><p></p></td>
              </tr>
            
              <tr>
                <td>VOTE_OPTION_ABSTAIN</td>
                <td>3</td>
                <td><p></p></td>
              </tr>
            
          </tbody>
        </table>
      

      

      
    
      
      <div class="file-heading">
        <h2 id="x/gov/sample_test.proto">x/gov/sample_test.proto</h2><a href="#title">Top</a>
      </div>
      <p></p>

      
        <h3 id="gov.ProposalOptions">ProposalOptions</h3>
        <p>ProposalOptions is a sum type of all possible messages that</p><p>may be dispatched via a governance proposal.</p><p>For the test case, we only refer to package-internal messages</p><p>and handlers, but an application can reference messages from any package.</p>

        
          <table class="field-table">
            <thead>
              <tr><td>Field</td><td>Type</td><td>Label</td><td>Description</td></tr>
            </thead>
            <tbody>
              
                <tr>
                  <td>text</td>
                  <td><a href="#gov.CreateTextResolutionMsg">CreateTextResolutionMsg</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>electorate</td>
                  <td><a href="#gov.UpdateElectorateMsg">UpdateElectorateMsg</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>rule</td>
                  <td><a href="#gov.UpdateElectionRuleMsg">UpdateElectionRuleMsg</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
            </tbody>
          </table>
        

        
      

      

      

      
    
      
      <div class="file-heading">
        <h2 id="x/msgfee/codec.proto">x/msgfee/codec.proto</h2><a href="#title">Top</a>
      </div>
      <p></p>

      
        <h3 id="msgfee.Configuration">Configuration</h3>
        <p></p>

        
          <table class="field-table">
            <thead>
              <tr><td>Field</td><td>Type</td><td>Label</td><td>Description</td></tr>
            </thead>
            <tbody>
              
                <tr>
                  <td>metadata</td>
                  <td><a href="#weave.Metadata">weave.Metadata</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>owner</td>
                  <td><a href="#bytes">bytes</a></td>
                  <td></td>
                  <td><p>Owner is present to implement gconf.OwnedConfig interface
This defines the Address that is allowed to update the Configuration object and is
needed to make use of gconf.NewUpdateConfigurationHandler </p></td>
                </tr>
              
                <tr>
                  <td>fee_admin</td>
                  <td><a href="#bytes">bytes</a></td>
                  <td></td>
                  <td><p>FeeAdmin is an address that is allowed to change the fee. </p></td>
                </tr>
              
            </tbody>
          </table>
        

        
      
        <h3 id="msgfee.MsgFee">MsgFee</h3>
        <p>MsgFee represents a fee for a single message that must be paid in order for</p><p>the message to be processed.</p>

        
          <table class="field-table">
            <thead>
              <tr><td>Field</td><td>Type</td><td>Label</td><td>Description</td></tr>
            </thead>
            <tbody>
              
                <tr>
                  <td>metadata</td>
                  <td><a href="#weave.Metadata">weave.Metadata</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>msg_path</td>
                  <td><a href="#string">string</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>fee</td>
                  <td><a href="#coin.Coin">coin.Coin</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
            </tbody>
          </table>
        

        
      
        <h3 id="msgfee.SetMsgFeeMsg">SetMsgFeeMsg</h3>
        <p>SetMsgFeeMsg set given fee for a specified message path. This message sets a</p><p>new fee of overwrites an existing one. Fee must not be less than zero. Use</p><p>zero value coin to unset a fee.</p>

        
          <table class="field-table">
            <thead>
              <tr><td>Field</td><td>Type</td><td>Label</td><td>Description</td></tr>
            </thead>
            <tbody>
              
                <tr>
                  <td>metadata</td>
                  <td><a href="#weave.Metadata">weave.Metadata</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>msg_path</td>
                  <td><a href="#string">string</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>fee</td>
                  <td><a href="#coin.Coin">coin.Coin</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
            </tbody>
          </table>
        

        
      
        <h3 id="msgfee.UpdateConfigurationMsg">UpdateConfigurationMsg</h3>
        <p></p>

        
          <table class="field-table">
            <thead>
              <tr><td>Field</td><td>Type</td><td>Label</td><td>Description</td></tr>
            </thead>
            <tbody>
              
                <tr>
                  <td>metadata</td>
                  <td><a href="#weave.Metadata">weave.Metadata</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>patch</td>
                  <td><a href="#msgfee.Configuration">Configuration</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
            </tbody>
          </table>
        

        
      

      

      

      
    
      
      <div class="file-heading">
        <h2 id="x/multisig/codec.proto">x/multisig/codec.proto</h2><a href="#title">Top</a>
      </div>
      <p></p>

      
        <h3 id="multisig.Contract">Contract</h3>
        <p></p>

        
          <table class="field-table">
            <thead>
              <tr><td>Field</td><td>Type</td><td>Label</td><td>Description</td></tr>
            </thead>
            <tbody>
              
                <tr>
                  <td>metadata</td>
                  <td><a href="#weave.Metadata">weave.Metadata</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>participants</td>
                  <td><a href="#multisig.Participant">Participant</a></td>
                  <td>repeated</td>
                  <td><p>Participants defines a list of all signatures that are allowed to sign the
contract. </p></td>
                </tr>
              
                <tr>
                  <td>activation_threshold</td>
                  <td><a href="#uint32">uint32</a></td>
                  <td></td>
                  <td><p>Activation threshold defines the minimal weight value that must be
provided from participants in order to activate the contract. Weight is
computed as the sum of weights of all participating signatures. </p></td>
                </tr>
              
                <tr>
                  <td>admin_threshold</td>
                  <td><a href="#uint32">uint32</a></td>
                  <td></td>
                  <td><p>Admin threshold defines the minimal weight value that must be provided
from participants in order to administrate the contract. Weight is
computed as the sum of weights of all participating signatures. </p></td>
                </tr>
              
                <tr>
                  <td>address</td>
                  <td><a href="#bytes">bytes</a></td>
                  <td></td>
                  <td><p>Address of this entity. Set during creation and does not change. </p></td>
                </tr>
              
            </tbody>
          </table>
        

        
      
        <h3 id="multisig.CreateMsg">CreateMsg</h3>
        <p></p>

        
          <table class="field-table">
            <thead>
              <tr><td>Field</td><td>Type</td><td>Label</td><td>Description</td></tr>
            </thead>
            <tbody>
              
                <tr>
                  <td>metadata</td>
                  <td><a href="#weave.Metadata">weave.Metadata</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>participants</td>
                  <td><a href="#multisig.Participant">Participant</a></td>
                  <td>repeated</td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>activation_threshold</td>
                  <td><a href="#uint32">uint32</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>admin_threshold</td>
                  <td><a href="#uint32">uint32</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
            </tbody>
          </table>
        

        
      
        <h3 id="multisig.Participant">Participant</h3>
        <p>Participant clubs together a signature with a weight. The greater the weight</p><p>the greater the power of a signature.</p>

        
          <table class="field-table">
            <thead>
              <tr><td>Field</td><td>Type</td><td>Label</td><td>Description</td></tr>
            </thead>
            <tbody>
              
                <tr>
                  <td>signature</td>
                  <td><a href="#bytes">bytes</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>weight</td>
                  <td><a href="#uint32">uint32</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
            </tbody>
          </table>
        

        
      
        <h3 id="multisig.UpdateMsg">UpdateMsg</h3>
        <p></p>

        
          <table class="field-table">
            <thead>
              <tr><td>Field</td><td>Type</td><td>Label</td><td>Description</td></tr>
            </thead>
            <tbody>
              
                <tr>
                  <td>metadata</td>
                  <td><a href="#weave.Metadata">weave.Metadata</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>contract_id</td>
                  <td><a href="#bytes">bytes</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>participants</td>
                  <td><a href="#multisig.Participant">Participant</a></td>
                  <td>repeated</td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>activation_threshold</td>
                  <td><a href="#uint32">uint32</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>admin_threshold</td>
                  <td><a href="#uint32">uint32</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
            </tbody>
          </table>
        

        
      

      

      

      
    
      
      <div class="file-heading">
        <h2 id="x/paychan/codec.proto">x/paychan/codec.proto</h2><a href="#title">Top</a>
      </div>
      <p></p>

      
        <h3 id="paychan.CloseMsg">CloseMsg</h3>
        <p>CloseMsg close a payment channel and release remaining founds</p><p>by sending them back to the source account.</p><p>Destination account can close channel at any moment.</p><p>Source can close channel only if the timeout was reached.</p>

        
          <table class="field-table">
            <thead>
              <tr><td>Field</td><td>Type</td><td>Label</td><td>Description</td></tr>
            </thead>
            <tbody>
              
                <tr>
                  <td>metadata</td>
                  <td><a href="#weave.Metadata">weave.Metadata</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>channel_id</td>
                  <td><a href="#bytes">bytes</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>memo</td>
                  <td><a href="#string">string</a></td>
                  <td></td>
                  <td><p>Max length 128 character. </p></td>
                </tr>
              
            </tbody>
          </table>
        

        
      
        <h3 id="paychan.CreateMsg">CreateMsg</h3>
        <p>CreateMsg creates a new payment channel that can be used to</p><p>transfer value between two parties.</p><p>Total amount will be taken from the sources account and allocated for user</p><p>in the transactions done via created payment channel.</p>

        
          <table class="field-table">
            <thead>
              <tr><td>Field</td><td>Type</td><td>Label</td><td>Description</td></tr>
            </thead>
            <tbody>
              
                <tr>
                  <td>metadata</td>
                  <td><a href="#weave.Metadata">weave.Metadata</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>source</td>
                  <td><a href="#bytes">bytes</a></td>
                  <td></td>
                  <td><p>Source address (weave.Address). </p></td>
                </tr>
              
                <tr>
                  <td>source_pubkey</td>
                  <td><a href="#crypto.PublicKey">crypto.PublicKey</a></td>
                  <td></td>
                  <td><p>Source public key is for validating transfer message signature. </p></td>
                </tr>
              
                <tr>
                  <td>destination</td>
                  <td><a href="#bytes">bytes</a></td>
                  <td></td>
                  <td><p>Destination address  (weave.Address). </p></td>
                </tr>
              
                <tr>
                  <td>total</td>
                  <td><a href="#coin.Coin">coin.Coin</a></td>
                  <td></td>
                  <td><p>Maximum amount that can be transferred via this channel. </p></td>
                </tr>
              
                <tr>
                  <td>timeout</td>
                  <td><a href="#int64">int64</a></td>
                  <td></td>
                  <td><p>If reached, channel can be closed by anyone. </p></td>
                </tr>
              
                <tr>
                  <td>memo</td>
                  <td><a href="#string">string</a></td>
                  <td></td>
                  <td><p>Max length 128 character. </p></td>
                </tr>
              
            </tbody>
          </table>
        

        
      
        <h3 id="paychan.Payment">Payment</h3>
        <p>Payment is created by the source. Source should give the message to the</p><p>destination, so that it can be redeemed at any time.</p><p>Each Payment should be created with amount greater than the previous one.</p>

        
          <table class="field-table">
            <thead>
              <tr><td>Field</td><td>Type</td><td>Label</td><td>Description</td></tr>
            </thead>
            <tbody>
              
                <tr>
                  <td>chain_id</td>
                  <td><a href="#string">string</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>channel_id</td>
                  <td><a href="#bytes">bytes</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>amount</td>
                  <td><a href="#coin.Coin">coin.Coin</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>memo</td>
                  <td><a href="#string">string</a></td>
                  <td></td>
                  <td><p>Max length 128 character. </p></td>
                </tr>
              
            </tbody>
          </table>
        

        
      
        <h3 id="paychan.PaymentChannel">PaymentChannel</h3>
        <p>PaymentChannel holds the state of a payment channel during its lifetime.</p>

        
          <table class="field-table">
            <thead>
              <tr><td>Field</td><td>Type</td><td>Label</td><td>Description</td></tr>
            </thead>
            <tbody>
              
                <tr>
                  <td>metadata</td>
                  <td><a href="#weave.Metadata">weave.Metadata</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>source</td>
                  <td><a href="#bytes">bytes</a></td>
                  <td></td>
                  <td><p>Source is the source that the founds are allocated from. </p></td>
                </tr>
              
                <tr>
                  <td>source_pubkey</td>
                  <td><a href="#crypto.PublicKey">crypto.PublicKey</a></td>
                  <td></td>
                  <td><p>Source public key is a key that must be used to verify signature of
transfer message. Source creates signed transfer messages and gives them
to the destination. Signature prevents from altering transfer message. </p></td>
                </tr>
              
                <tr>
                  <td>destination</td>
                  <td><a href="#bytes">bytes</a></td>
                  <td></td>
                  <td><p>Destination is the party that receives payments through this channel </p></td>
                </tr>
              
                <tr>
                  <td>total</td>
                  <td><a href="#coin.Coin">coin.Coin</a></td>
                  <td></td>
                  <td><p>Total represents a maximum value that can be transferred via this
payment channel. </p></td>
                </tr>
              
                <tr>
                  <td>timeout</td>
                  <td><a href="#int64">int64</a></td>
                  <td></td>
                  <td><p>Timeout represents wall clock time as read from the block header. Timeout
is represented using POSIX time format.
Expiration time is inclusive meaning that the paychan expires as soon as
the current time is equal or greater than timeout value.
nonexpired: [created, timeout)
expired: [timeout, infinity) </p></td>
                </tr>
              
                <tr>
                  <td>memo</td>
                  <td><a href="#string">string</a></td>
                  <td></td>
                  <td><p>Max length 128 character. </p></td>
                </tr>
              
                <tr>
                  <td>transferred</td>
                  <td><a href="#coin.Coin">coin.Coin</a></td>
                  <td></td>
                  <td><p>Transferred represents total amount that was transferred using allocated
(total) value. Transferred must never exceed total value. </p></td>
                </tr>
              
                <tr>
                  <td>address</td>
                  <td><a href="#bytes">bytes</a></td>
                  <td></td>
                  <td><p>Address of this entity. Set during creation and does not change. </p></td>
                </tr>
              
            </tbody>
          </table>
        

        
      
        <h3 id="paychan.TransferMsg">TransferMsg</h3>
        <p>TransferMsg binds Payment with a signature created using</p><p>sources private key.</p><p>Signature is there to ensure that payment message was not altered.</p>

        
          <table class="field-table">
            <thead>
              <tr><td>Field</td><td>Type</td><td>Label</td><td>Description</td></tr>
            </thead>
            <tbody>
              
                <tr>
                  <td>metadata</td>
                  <td><a href="#weave.Metadata">weave.Metadata</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>payment</td>
                  <td><a href="#paychan.Payment">Payment</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>signature</td>
                  <td><a href="#crypto.Signature">crypto.Signature</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
            </tbody>
          </table>
        

        
      

      

      

      
    
      
      <div class="file-heading">
        <h2 id="x/sigs/codec.proto">x/sigs/codec.proto</h2><a href="#title">Top</a>
      </div>
      <p></p>

      
        <h3 id="sigs.BumpSequenceMsg">BumpSequenceMsg</h3>
        <p>BumpSequenceMsg increments a sequence counter by given amount for a user.</p>

        
          <table class="field-table">
            <thead>
              <tr><td>Field</td><td>Type</td><td>Label</td><td>Description</td></tr>
            </thead>
            <tbody>
              
                <tr>
                  <td>metadata</td>
                  <td><a href="#weave.Metadata">weave.Metadata</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>increment</td>
                  <td><a href="#uint32">uint32</a></td>
                  <td></td>
                  <td><p>Increment represents the value by which a sequence value will be
increased. Minumum value is one and maxium value must not be greater than
1000.
Each transaction increments the sequence by one. This value represents the
total increment value, including the default increment. </p></td>
                </tr>
              
                <tr>
                  <td>user</td>
                  <td><a href="#bytes">bytes</a></td>
                  <td></td>
                  <td><p>User is the address of a user that sequence is to be incremented for. </p></td>
                </tr>
              
            </tbody>
          </table>
        

        
      
        <h3 id="sigs.StdSignature">StdSignature</h3>
        <p>StdSignature represents the signature, the identity of the signer</p><p>(the Pubkey), and a sequence number to prevent replay attacks.</p><p>A given signer must submit transactions with the sequence number</p><p>increasing by 1 each time (starting at 0)</p>

        
          <table class="field-table">
            <thead>
              <tr><td>Field</td><td>Type</td><td>Label</td><td>Description</td></tr>
            </thead>
            <tbody>
              
                <tr>
                  <td>sequence</td>
                  <td><a href="#int64">int64</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>pubkey</td>
                  <td><a href="#crypto.PublicKey">crypto.PublicKey</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>signature</td>
                  <td><a href="#crypto.Signature">crypto.Signature</a></td>
                  <td></td>
                  <td><p>Removed Address, Pubkey is more powerful </p></td>
                </tr>
              
            </tbody>
          </table>
        

        
      
        <h3 id="sigs.UserData">UserData</h3>
        <p>UserData just stores the data and is used for serialization.</p><p>Key is the Address (PubKey.Permission().Address())</p><p>Note: This should not be created from outside the module,</p><p>User is the entry point you want</p>

        
          <table class="field-table">
            <thead>
              <tr><td>Field</td><td>Type</td><td>Label</td><td>Description</td></tr>
            </thead>
            <tbody>
              
                <tr>
                  <td>metadata</td>
                  <td><a href="#weave.Metadata">weave.Metadata</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>pubkey</td>
                  <td><a href="#crypto.PublicKey">crypto.PublicKey</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>sequence</td>
                  <td><a href="#int64">int64</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
            </tbody>
          </table>
        

        
      

      

      

      
    
      
      <div class="file-heading">
        <h2 id="x/txfee/codec.proto">x/txfee/codec.proto</h2><a href="#title">Top</a>
      </div>
      <p></p>

      
        <h3 id="txfee.Configuration">Configuration</h3>
        <p></p>

        
          <table class="field-table">
            <thead>
              <tr><td>Field</td><td>Type</td><td>Label</td><td>Description</td></tr>
            </thead>
            <tbody>
              
                <tr>
                  <td>metadata</td>
                  <td><a href="#weave.Metadata">weave.Metadata</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>owner</td>
                  <td><a href="#bytes">bytes</a></td>
                  <td></td>
                  <td><p>Owner is present to implement gconf.OwnedConfig interface
This defines the Address that is allowed to update the Configuration object and is
needed to make use of gconf.NewUpdateConfigurationHandler </p></td>
                </tr>
              
                <tr>
                  <td>free_bytes</td>
                  <td><a href="#int32">int32</a></td>
                  <td></td>
                  <td><p>Free bytes declares the size of the message (in bytes) that is free of
charge. Any additional fee is counted only from the size above the free
bytes threshold.

Transaction fee is computed using the following equation:
  ((max(0, bytes_size(tx) - free_bytes) ** 2) * base_fee
All computations are done using uint64 precision and only integer values. </p></td>
                </tr>
              
                <tr>
                  <td>base_fee</td>
                  <td><a href="#coin.Coin">coin.Coin</a></td>
                  <td></td>
                  <td><p>Base fee defines the currency and multiplicate for the transaction size
fee amount. </p></td>
                </tr>
              
            </tbody>
          </table>
        

        
      
        <h3 id="txfee.UpdateConfigurationMsg">UpdateConfigurationMsg</h3>
        <p></p>

        
          <table class="field-table">
            <thead>
              <tr><td>Field</td><td>Type</td><td>Label</td><td>Description</td></tr>
            </thead>
            <tbody>
              
                <tr>
                  <td>metadata</td>
                  <td><a href="#weave.Metadata">weave.Metadata</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>patch</td>
                  <td><a href="#txfee.Configuration">Configuration</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
            </tbody>
          </table>
        

        
      

      

      

      
    
      
      <div class="file-heading">
        <h2 id="x/validators/codec.proto">x/validators/codec.proto</h2><a href="#title">Top</a>
      </div>
      <p></p>

      
        <h3 id="validators.Accounts">Accounts</h3>
        <p>Accounts is a list of accounts allowed to update validators</p>

        
          <table class="field-table">
            <thead>
              <tr><td>Field</td><td>Type</td><td>Label</td><td>Description</td></tr>
            </thead>
            <tbody>
              
                <tr>
                  <td>metadata</td>
                  <td><a href="#weave.Metadata">weave.Metadata</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>addresses</td>
                  <td><a href="#bytes">bytes</a></td>
                  <td>repeated</td>
                  <td><p> </p></td>
                </tr>
              
            </tbody>
          </table>
        

        
      
        <h3 id="validators.ApplyDiffMsg">ApplyDiffMsg</h3>
        <p>ApplyDiffMsg is designed to update validator power</p>

        
          <table class="field-table">
            <thead>
              <tr><td>Field</td><td>Type</td><td>Label</td><td>Description</td></tr>
            </thead>
            <tbody>
              
                <tr>
                  <td>metadata</td>
                  <td><a href="#weave.Metadata">weave.Metadata</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>validator_updates</td>
                  <td><a href="#weave.ValidatorUpdate">weave.ValidatorUpdate</a></td>
                  <td>repeated</td>
                  <td><p> </p></td>
                </tr>
              
            </tbody>
          </table>
        

        
      

      

      

      
    

    <h2 id="scalar-value-types">Scalar Value Types</h2>
    <table class="scalar-value-types-table">
      <thead>
        <tr><td>.proto Type</td><td>Notes</td><td>C++ Type</td><td>Java Type</td><td>Python Type</td></tr>
      </thead>
      <tbody>
        
          <tr id="double">
            <td>double</td>
            <td></td>
            <td>double</td>
            <td>double</td>
            <td>float</td>
          </tr>
        
          <tr id="float">
            <td>float</td>
            <td></td>
            <td>float</td>
            <td>float</td>
            <td>float</td>
          </tr>
        
          <tr id="int32">
            <td>int32</td>
            <td>Uses variable-length encoding. Inefficient for encoding negative numbers – if your field is likely to have negative values, use sint32 instead.</td>
            <td>int32</td>
            <td>int</td>
            <td>int</td>
          </tr>
        
          <tr id="int64">
            <td>int64</td>
            <td>Uses variable-length encoding. Inefficient for encoding negative numbers – if your field is likely to have negative values, use sint64 instead.</td>
            <td>int64</td>
            <td>long</td>
            <td>int/long</td>
          </tr>
        
          <tr id="uint32">
            <td>uint32</td>
            <td>Uses variable-length encoding.</td>
            <td>uint32</td>
            <td>int</td>
            <td>int/long</td>
          </tr>
        
          <tr id="uint64">
            <td>uint64</td>
            <td>Uses variable-length encoding.</td>
            <td>uint64</td>
            <td>long</td>
            <td>int/long</td>
          </tr>
        
          <tr id="sint32">
            <td>sint32</td>
            <td>Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int32s.</td>
            <td>int32</td>
            <td>int</td>
            <td>int</td>
          </tr>
        
          <tr id="sint64">
            <td>sint64</td>
            <td>Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int64s.</td>
            <td>int64</td>
            <td>long</td>
            <td>int/long</td>
          </tr>
        
          <tr id="fixed32">
            <td>fixed32</td>
            <td>Always four bytes. More efficient than uint32 if values are often greater than 2^28.</td>
            <td>uint32</td>
            <td>int</td>
            <td>int</td>
          </tr>
        
          <tr id="fixed64">
            <td>fixed64</td>
            <td>Always eight bytes. More efficient than uint64 if values are often greater than 2^56.</td>
            <td>uint64</td>
            <td>long</td>
            <td>int/long</td>
          </tr>
        
          <tr id="sfixed32">
            <td>sfixed32</td>
            <td>Always four bytes.</td>
            <td>int32</td>
            <td>int</td>
            <td>int</td>
          </tr>
        
          <tr id="sfixed64">
            <td>sfixed64</td>
            <td>Always eight bytes.</td>
            <td>int64</td>
            <td>long</td>
            <td>int/long</td>
          </tr>
        
          <tr id="bool">
            <td>bool</td>
            <td></td>
            <td>bool</td>
            <td>boolean</td>
            <td>boolean</td>
          </tr>
        
          <tr id="string">
            <td>string</td>
            <td>A string must always contain UTF-8 encoded or 7-bit ASCII text.</td>
            <td>string</td>
            <td>String</td>
            <td>str/unicode</td>
          </tr>
        
          <tr id="bytes">
            <td>bytes</td>
            <td>May contain any arbitrary sequence of bytes.</td>
            <td>string</td>
            <td>ByteString</td>
            <td>str</td>
          </tr>
        
      </tbody>
    </table>
  </body>
</html>

